2014-05-13 5 views
0

mon application doit envoyer des données à un autre appareil Android jusqu'à présent son envoi par sms messages qui se bloque dans l'autre appareil Android ... mais depuis la version KitKat je ne peux plus les bloquer .. est-il de toute façon d'envoyer des messages push en arrière-plan à un autre utilisateur et de les recevoir de retour? et si oui ... J'aimerais voir un exemple (je ne préfère pas GCM je pense que c'est trop compliqué ..).Envoyer des messages pour envoyer des données?

c'est le code que je utilise pour envoyer le message SMS:

SmsManager sm = SmsManager.getDefault(); 
ArrayList<String> parts =sm.divideMessage(String.valueOf(points)); 
int numParts = parts.size(); 
ArrayList<PendingIntent> sentIntents = new ArrayList<PendingIntent>(); 
ArrayList<PendingIntent> deliveryIntents = new ArrayList<PendingIntent>(); 
for (int i = 0; i < numParts; i++) { 
    sentIntents.add(PendingIntent.getBroadcast(getBaseContext(), 0, getIntent(), 0)); 
    // deliveryIntents.add(PendingIntent.getBroadcast(getBaseContext(), 0, data, 0)); 
} 

sm.sendMultipartTextMessage(number,null, parts, sentIntents, deliveryIntents); 
SmsManager.getDefault().sendTextMessage(number, null, String.valueOf(points), null, null); 
         } 

Vous cherchez quelque chose de similaire seulement pour les messages push.

+1

Vous avez besoin d'un serveur. Par ailleurs, le code client GCM se compose littéralement de 20 lignes de code. – eleven

+0

Y at-il un exemple que je peux voir avec le client GCM en plus du site GCM? – mynavy

+0

Bien sûr, essayez de google. – eleven

Répondre

1

Vous pouvez envoyer un SMS de données. Ils fonctionnent différemment d'un SMS normal car ils utilisent un port lors de l'envoi, et vous spécifiez donc le même port sur le combiné des récepteurs. Cela évite le problème de priorité de filtrage d'intention concurrente sur le récepteur SMS.

Ceci permet l'envoi direct d'un android à un autre.

Voir here pour un exemple

+0

cela semble intéressant de l'exemple je peux voir que l'autre utilisateur lors de la réception du message Il peut le voir en fait ou non? Dans mon cas, je préfère qu'il ne voit pas ce message ... – mynavy

+0

Incroyable .. son travail ... pas besoin d'Abort broadcastReceiver ... le message est court mais très utile! Merci beaucoup – mynavy

+1

ouais l'utilisateur ne verra pas le message. Ce n'est pas très bon, cela m'a sauvé avant aussi - heureux de le payer en avant – Shane

1

Google Cloud Messaging est ce que vous êtes après:

http://developer.android.com/google/gcm/index.html

Un inconvénient sur votre méthode actuelle est que vous aurez probablement besoin d'un serveur pour agir à titre de courtier, en tant que message GCM ne peut avoir charge utile relativement petite

+0

Eh bien mon message ne devrait pas être si gros mais je n'ai pas de problème pour limiter la chaîne que j'envoie ... Y at-il autre chose que GCM? Je ne peux pas comprendre comment mettre en œuvre cela. – mynavy

+0

Très bien, mais si vous n'allez pas avec la notification GCM alors vous avez laissé un autre choix, créer un WebService pour votre fonctionnalité et aller de l'avant. –

Questions connexes