[JAVA] Compatible avec Android 10 (API 29)

Les autorisations d'ID d'appareil ont été modifiées sur Android 10

Tous les identifiants d'appareils seront protégés par l'autorisation READ_PRIVILEGED_PHONE_STATE. ** Cette autorisation ne peut pas être accordée aux applications tierces. (Fâché) **

Méthodes restreintes

Ci-dessous, officiel. https://developer.android.com/about/versions/10/privacy/changes?hl=ja#non-resettable-device-ids Les méthodes suivantes sont limitées.

Cible.java


Classe de construction
 getSerial()
Classe TelephonyManager
 getImei()
 getDeviceId()
 getMeid()
 getSimSerialNumber()
 getSubscriberId()
Comment attribuez-vous l'autorisation à READ_PRIVILEGED_PHONE_STATE?

Au lieu de l'octroi habituel d'autorisations telles que les autorisations de demande Il est nécessaire de décrire directement l'autorisation dans la partie applicative correspondante du fichier de paramétrage existant sur le terminal. L'article suivant a été utile. https://qiita.com/hiesiea/items/6a2deb479958a3b44707#read_privileged_phone_state%E3%82%92%E3%83%9B%E3%83%AF%E3%82%A4%E3%83%88%E3%83%AA%E3%82%B9%E3%83%88%E3%81%AB%E8%BF%BD%E5%8A%A0%E3%81%99%E3%82%8B

Cependant, cette autorisation ne peut être accordée Limité aux applications préinstallées et aux applications distribuées par les opérateurs de téléphonie mobile.

Conclusion

Applications que vous publiez normalement sur le Play Store Je ne peux plus obtenir l'ID associé à l'appareil. (Applications préinstallées sur l'appareil, Vous pouvez utiliser les applications fournies par les opérateurs de téléphonie mobile)

Impressions

Interdiction d'accès direct au chemin par le stockage de la plage cible, Depuis l'API29, l'accès au terminal est de plus en plus restreint. (J'en fais trop et c'est allégé par API30 ...)

référence

https://source.android.com/devices/tech/config/device-identifiers

Recommended Posts

Compatible avec Android 10 (API 29)
Créer une API XML-RPC avec Wicket
Tester l'API Web avec junit
Utiliser l'API Bulk avec RestHighLevelClient
Test de l'API REST avec REST Assured
Lier l'API avec Spring + Vue.js
[MT] Spécifiez la catégorie d'article d'Android avec l'API de données
[MT] Spécifiez la catégorie d'article d'Android avec l'API de données
[Android] Visualisez la progression, etc. avec la barre de progression
Importer des images d'appareils avec l'application Android
Spring avec Kotorin - 4 Conception d'API REST
[Rails] Rendre la pagination compatible avec Ajax
Gestion des événements avec RxBus sur Android
Test API automatique avec Selenium + REST-Assured
Test de l'API REST à l'aide de REST Assured Part 2
Micro benchmark réalisé avec l'API JFR
Android O (API version 26) Notification push
Une série de problèmes dans le développement de studios Android
Premiers pas avec Doma-Criteria API Cheet Sheet
Com.google.api.client.googleapis.json.GoogleJsonResponseException: 404 introuvable avec l'API YouTube Analytics
Intégration API de Java avec Jersey Client
[Android] Comment gérer les thèmes sombres
Obtenez un cryptage compatible OpenSSL avec Java / PHP
Créez une API REST avec Apache2 + Passenger + Sinatra.
Trouvez Raspberry Pi d'Android avec mDNS
Application de reconnaissance faciale avec OpenCV + Android Studio
Lors de l'appel de l'API avec java, javax.net.ssl.SSLHandshakeException se produit
Afficher les spécifications de l'API avec Laravel + SwaggerUI + Docker
Essayez d'utiliser l'API Emotion d'Android
[Rails] Recherche de livres avec l'API Amazon PA
J'ai créé une application Janken avec Android
24 heures de difficulté avec le développement Android, Java en option
Configurer des microservices avec Spring Cloud (4): API Gateway