web-dev-qa-db-fra.com

Obtenir le numéro de téléphone par programmation - Android

est-il possible d'obtenir le numéro de téléphone de chaque périphérique par programmation? J'ai essayé ce code:

TelephonyManager manager =(TelephonyManager)mAppContext.getSystemService(Context.TELEPHONY_SERVICE);
mPhoneNumber = manager.getLine1Number();

Cela fonctionne bien avec certains fournisseurs. Malheureusement, cela ne fonctionne pas avec chaque fournisseur. Donc, je cherche un truc ou un travail pour obtenir le numéro de téléphone de l'appareil. Existe-t-il une solution ou est-ce impossible parce que le numéro n'est pas stocké sur la carte SIM?

19
JavaForAndroid

La méthode que vous utilisez est la seule partie du SDK à effectuer cette opération et ne fonctionne que sur les appareils dont le numéro est stocké sur la carte SIM, ce que ne font que certains opérateurs. Pour tous les autres opérateurs, vous devrez demander à l'utilisateur de saisir le numéro de téléphone manuellement, ce numéro n'étant tout simplement pas stocké sur l'appareil où vous pourrez le récupérer.

16
Raghav Sood

Vous pouvez essayer d’envoyer des SMS spécifiques à votre fournisseur de services Internet . Par exemple, à Beijing (Chine), lorsque vous envoyez SMS "501" à 10001, vous obtenez votre numéro de téléphone dans le message reçu. . Ensuite, vous devez seulement savoir comment envoyer SMS et enregistrer un BroadcastReceiver pour recevoir le message.

0
Zhou Hongbo