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?
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();
}
}
}
Vous n’avez pas trouvé la réponse que vous recherchez ?
BunoCS
Messages postés15475Date d'inscriptionlundi 11 juillet 2005StatutModérateurDernière intervention23 avril 2024103 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...
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?