Android sms

yannickjuste - 7 août 2012 à 16:44
 yannickjuste - 8 août 2012 à 15:20
Bonjour à tous,

Dans le cadre de mon stage, je développe une application de reception et d'envoi de sms en android. Les envois étant des réponses automatiques aux sms reçus, j'ai lancé dans le broadcastreceiver une activité qui traite des envois spécifiques en fonction de boutons cliqués. Le broadcastreceiver je l'unclus dans un service et l'enregiste dans onstartcommand(). Le service je l'appelle dans l'activité principale avec startService(Intent). Tout compile mais sur l'AVD j'arrive pas vraiment à savoir si les activités sont lancées. J'ai toutes mais IHMs mais comment savoir si la reception marche? ou même les envois automatiques avec des boutons?

Tout coup de main serait le bienvenu.

Cordialement.

7 réponses

BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 103
7 août 2012 à 16:56
Hello,
Je n'ai pas trop compris ce que tu décris, mais saches qu'avec Eclipse, dans la vue DDMS, tu peux envoyer des SMS à ton émulateur.


@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
Merci pour l'info. Mais est-il possible de recevoir un sms sur l'AVD avec ceci? que faut-il donner commer comme incoming number?

Merci et cordialement
0
BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 103
8 août 2012 à 10:41
Tu mets ce que tu veux dans l'incoming number (moi, je mets 1).


@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
J'ai pu faire interagir 2 AVD pour tester. Mais celle où est installée l'application reçoit les sms dans la messagerie basique, or je veux rediriger les sms venant de l'autre AVD vers le centre de reception codé dans l'application. Voici mon bout de code(Broadcastreceiver) lors du stockage des sms reçus:

if(intent.getAction().equals(SMS_RECEIVE_INTENT_NAME)){
Bundle bundle=intent.getExtras();
if(bundle!=null){
Object[] pdus=(Object[])bundle.get("pdus");
SmsMessage[] smsMessages=new SmsMessage[pdus.length];
SmsMessage[] requestMessages=new SmsMessage[pdus.length];
int k=0;
//Rebuild your SMS Messages
for(int i=0;i<pdus.length;i++){ smsMessages[i]=SmsMessage.createFromPdu((byte[])pdus[i]);
if(smsMessages[i].getOriginatingAddress()=="5556"){ requestMessages[k]=smsMessages[i];
k=k+1;}
}
//Parse your SMS Message
SmsMessage currentMessage;
//String body,from;
for(int i=0;i<requestMessages.length;i++){
currentMessage=requestMessages[i]
String body = currentMessage.getDisplayMessageBody();


}
}
}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 103
8 août 2012 à 13:41
Pour catcher les SMS, il faut:
- inclure la bonne permission dans le Manifest: android.permission.RECEIVE_SMS
- déclarer ton receiver dans le Manifest
- lui affectuer une priorité élevée afin qu'il catche les SMS avant le système


@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 103
8 août 2012 à 13:42
Un exemple ici ou bien


@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
Merci beaucoup, donc du coup je vais mettre le broadcastreceiver hors de mon service et en instancier un dans mon service. Est ce qu'en lançant une activité d'envoi de sms a la suite chaque reception(avec envois conditionnés par clic) c'est comme un code de reply to sms?

Cordialement et déjà merci pour tout
0
Rejoignez-nous