French envoyer et recevoir des sms

sultan87

Active Member
Licensed User
Longtime User
Bonjour
j'ai un appli qui envoie des sms
cela fonctionnait correctement
j'ai maintenant ce message d'erreur sur la ligne de code
B4X:
Sms.Send2(Main.Tel_Sim,"TEMP",True,True)
java.lang.SecurityException: Sending SMS message: uid 10360 does not have android.permission.SEND_SMS.
je ne comprend pas
ce serait une restriction de google
j'ai récupéré sur le forum ce code
B4X:
Dim In As Intent
Dim number = "0123456789" As String
In.Initialize(In.ACTION_VIEW, "sms:" & number)
In.PutExtra("sms_body", "this is the body")
StartActivity(In)
cela fonctionne
en réponse je dois recevoir un sms
comment le traiter
pouvez vous m'aider
Pierre
 

drgottjr

Expert
Licensed User
Longtime User
"cela fonctionnait correctement" - je dirais plustot que l'appi ne fonctionne pas correctement. "java.lang.SecurityException" veut dire que cela ne va pas.
"does not have android.permission.SEND_SMS" veut dire qu'il vous faut le "permis" d'envoyer des sms. il faut ajouter au mois "AddPermission(android.permission.SEND_SMS)" a votre "manifeste".

envoyer des sms est assez facile. les recevoir est un peu plus difficle. non seulement faut-il ajouter quelques "permis", mais il est necessaire d'installer un "broadcast receiver" (a rechercher) et de le mettre en oeuvre. android veut s'occuper des sms (ainsi que les appels de telephone et les liaisons de reseau (internet). passer outre ces veux n'est pas de minimis. par example: comment guarantir la reception d'un sms quand le dispositif est en repos ou quand il s'ouvre ou quand vous faites quelque chose d'autre quand un sms arrive. ces choses-la sont complexes, et google prefere que l'on lui laisse le fonctionnement.
 

sultan87

Active Member
Licensed User
Longtime User
merci pour la réponse
mon appli fonctionnait correctement
j'envoyai un sms et j’attendais la réponse pour faire des actions
l'appli plante sur l'instruction send (voir plus haut)
j'ai mis la permission dans "manifeste" et j'avais toujours cette erreur
dans mes recherche j'ai trouvé ceci

-------------
Google has changed their policy regarding the following permissions:
READ_SMS, SEND_SMS, WRITE_SMS, RECEIVE_SMS
READ_CALL_LOG, WRITE_CALL_LOG, PROCESS_OUTGOING_CALLS

Only the default phone or messaging apps can use these permissions:
https://support.google.com/googleplay/android-developer/answer/9047303?hl=en

This is relevant for Google Play apps.

The following types of objects can no longer be used:

- CallLog
- SmsMessages
- PhoneSms
- SmsInterceptor (and the equivalent static intent filter)

----------------
le palliatif est de remplacer l'instruction send par le bout de code cité plus haut
cela fonctionne
mais comment faire pour analyser la réponse
ci-joint mon projet
Pierre
 

Attachments

  • GestTherm.zip
    3.1 KB · Views: 103
Top