Essayez le processus suivant :
- Désinstallez l'application.
- redémarrez le téléphone.
- obtenir l'application à partir de Google Play
- Réinstallez l'application
Mise à jour
Aujourd'hui, après avoir allumé mon téléphone (après avoir désinstallé et installé Messages hier), Google Messages m'a demandé mon numéro de téléphone.
Je suppose que c'est parce que j'ai réinstallé l'application hier.
Cependant, il n'a pas affiché ce message hier après le redémarrage.
Je me souviens avoir vu ce message il y a longtemps, lorsque le problème a commencé, et je crois qu'à l'époque j'avais choisi l'option Don't Ask Again. Cette fois, je laisse cette option non sélectionnée pour voir si cela aide à résoudre le problème.
J'ai ajouté mon numéro et cliqué sur OK et il semble que le numéro soit enregistré dans l'application de la même manière que lorsque je l'ajoute manuellement. Voyons si les données sont conservées maintenant ?
Mise à jour 2
J'ai éteint mon téléphone et l'ai laissé redémarrer.
Je reçois le message suivant, mais uniquement lorsque je lance Google Messages et que je clique sur un message de groupe (MMS). Je vois alors ce petit avertissement au bas du groupe. Il s'affiche comme suit :
Les messages ont besoin de votre numéro de téléphone - CORRECTIF
Si vous cliquez sur le message FIX, vous passez à l'autre écran où vous pouvez entrer votre numéro. Si vous ne cliquez pas sur ce message dans un délai d'environ 3 secondes, il disparaît.
Si j'ajoute le numéro de téléphone et que je dis "Ne plus demander", mon numéro est sauvegardé tant que le téléphone est allumé, mais les données ne sont pas enregistrées de façon permanente.
Si j'ajoute le numéro de téléphone et que je l'autorise à le redemander, il enregistre mon numéro tant que le téléphone est allumé, mais il n'enregistre pas le numéro de façon permanente.
MISE À JOUR 3
L'appareil affiche le numéro de téléphone
Mon numéro de téléphone s'affiche parfaitement bien sur mon appareil sous :
Settings => About phone => Status => My phone number
Je me suis donc dit que je devais tester l'appel à l'API Android et voir si cela fonctionnait sur mon téléphone.
Récupérer le numéro de téléphone via l'API Android
J'ai ajouté du code pour récupérer le numéro de mon téléphone en utilisant l'API Android. J'ai ajouté le code à un autre programme que j'avais créé précédemment et j'ai ajouté la commande au menu. J'ai exécuté le code et il a réussi à récupérer mon numéro de téléphone.
Si je peux écrire ce code, les développeurs de Google Messages devraient pouvoir le faire aussi.
J'ai effacé mon numéro de téléphone, mais vous pouvez voir les deux premiers chiffres et le fait que l'application est capable de récupérer le numéro de téléphone. Google Messages devrait également être en mesure de le faire automatiquement. .
Voici le code de base que j'ai utilisé pour faire cela :
// 1. use TelephonyManager API
TelephonyManager tMgr = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
// 2. insure that the app has the correct permissions to allow it to read phone number
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_SMS) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_NUMBERS) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) {
// 3. handle perms failure here.
}
// 4. get the phone number
String mPhoneNumber = tMgr.getLine1Number();
// 5. display the phone number in the main text control (outText)
outText.setText(mPhoneNumber);
Mise à jour 4
J'ai ajouté quelques appels API supplémentaires pour obtenir plus d'informations sur mon téléphone :
Je me suis dit que cela ne se produisait peut-être que sur les appareils GSM ou autre (par opposition à CDMA) ? Je voulais montrer que la carte SIM est en bon état. J'étais curieux de savoir quel agent MMS était utilisé.
NOTE : La "Version du logiciel de l'appareil" correspond en fait au pilote de téléphonie et non au niveau de l'API Android. Ce téléphone fonctionne sous Nougat API niveau 25.
Voici les appels supplémentaires que j'ai faits à l'API (ce sont tous des appels TelephonyManager) :
tMgr.getMmsUserAgent()
tMgr.getDeviceSoftwareVersion()
tMgr.getPhoneType() // GSM, CDMA, SIP or NONE
tMgr.getSimState() // numerous states (see docs*)
* docs