2017-10-16 2 views
0

Contexte:application Android apparaît dans la batterie Optimisations whitelist, mais pas vraiment là

Je développe une application Android. Lorsque l'application démarre, elle vérifie si elle est exclue des optimisations de batterie à l'aide de la fonction isIgnoringBatteryOptimizations(). Si cette fonction renvoie false, j'utilise l'autorisation REQUEST_IGNORE_BATTERY_OPTIMIZATIONS pour afficher l'écran Paramètres d'optimisation de la batterie, où l'utilisateur doit ajouter l'application à la liste blanche.

Tout cela fonctionne parfaitement lorsque je lance l'application à partir d'Android Studio. Le problème commence lorsque je télécharge et installe les candidats à la publication.

Notez que le problème que je vais décrire se produit uniquement sur l'un de mes deux téléphones. Le problème se produit sur un Sharp 507SH fonctionnant sous Android 7.0. Le problème ne se produit pas sur un Sony SOV32 fonctionnant également sous Android 7.0.

La question:

Quand télécharger et installer les versions candidates (ne pas utiliser Android Studio) et démarrer l'application, l'écran de la batterie Optimisations apparaît comme normale. Cependant, l'application apparaît déjà dans la liste blanche "non optimisée". Normalement, l'utilisateur doit sélectionner manuellement l'application et l'ajouter. Mais il apparaît dans la liste. Donc, l'utilisateur appuie sur le bouton de retour pour revenir à l'application et tout semble bien. Cependant, l'application n'est pas réellement dans la liste blanche. Ceci est confirmé par le fait que l'application invite l'utilisateur à chaque démarrage de l'application, c'est-à-dire que isIgnoringBatteryOptimizations() renvoie toujours la valeur false.

Je peux ajouter l'application à la liste blanche "pour de vrai" en allant d'abord dans Paramètres de batterie et en le supprimant de la liste blanche, puis en le rajoutant. Ensuite, les invites disparaissent comme elles le devraient.

Répondre

0

Ceci peut être un effet secondaire (bug) de l'installation préalable de l'APK sur le téléphone en dehors de Google Play. Nous téléchargeons et installons des candidats à la publication de fichiers APK directement depuis Google Drive. Le téléphone sur lequel un fichier APK précédent a été installé rencontre ce problème. Le téléphone sur lequel le fichier APK n'est pas installé directement ne rencontre pas le problème.

Nous n'avons pas confirmé cela. C'est notre soupçon.