J'ai un Huawei P8 avec Android 5.0 que j'utilise pour tester une application. L'application doit s'exécuter en arrière-plan, car elle suit les régions BLE.
J'ai découvert que Huawei a intégré une «fonctionnalité» appelée Applications protégées, accessible à partir des paramètres du téléphone (Gestionnaire de batterie> Applications protégées). Cela permet aux applications élues de continuer à fonctionner après l'extinction de l'écran.
Sensiblement pour Huawei, mais malheureusement pour moi, il semble que ce soit opt-in, c'est-à-dire que les applications sont désactivées par défaut et que vous devez les mettre manuellement. Ce n'est pas un showstopper, comme je peux le conseiller aux utilisateurs dans une FAQ ou imprimée documentation sur le correctif, mais j'ai récemment installé Tinder (à des fins de recherche!), et j'ai remarqué qu'il était automatiquement mis dans la liste protégée.
Quelqu'un sait-il comment je peux faire cela pour mon application? Est-ce un paramètre dans le manifeste? Est-ce quelque chose que Huawei a activé pour Tinder parce que c'est une application populaire?
la source
Réponses:
la source
ComponentName("com.asus.mobilemanager","com.asus.mobilemanager.autostart.AutoStartActivity"));
sp.edit().putBoolean("protected",true).commit();
puisque je comprends que c'est là que vous changez la valeur en droit protégé?Il n'y a pas de paramètre dans le manifeste et Huawei a activé Tinder car c'est une application populaire. Il n'y a aucun moyen de savoir si les applications sont protégées.
Quoi qu'il en soit je
ifHuaweiAlert()
enonCreate()
montrer unAlertDialog
:la source
+1 pour Pierre pour sa grande solution qui fonctionne pour plusieurs fabricants d'appareils (Huawei, asus, oppo ...).
Je voulais utiliser son code dans mon application Android qui est en Java. J'ai inspiré mon code des réponses de Pierre et Aiuspaktyn .
}
Ajoutez les autorisations suivantes dans votre
Android.Manifest
J'espère que ça aidera quelqu'un.
la source
Solution pour tous les appareils (Xamarin.Android)
Usage:
Ajoutez les autorisations suivantes dans votre
Android.Manifest
Pour vous aider à trouver l'activité de l'appareil non répertoriée ici, utilisez simplement la méthode suivante pour vous aider à trouver l'activité correcte à ouvrir pour l'utilisateur
C #
Java
Exécuter au démarrage et rechercher dans le fichier journal, ajouter un filtre logcat sur
TAG
debrand.activities
Exemple de sortie:
Le nom du composant sera donc:
Si l'activité est associée à une autorisation, l'entrée suivante dans le
Android.Manifest
est requise pour ouvrir l'activité:Commentez ou modifiez le nouveau composant dans cette réponse. Toute aide me sera très appréciée.
la source
J'utilise la solution @Aiuspaktyn qui manque la partie de la détection de l'arrêt, afficher la boîte de dialogue après que l'utilisateur a défini l'application comme protégée. J'utilise un service pour vérifier si l'application a été interrompue ou non, en vérifiant si elle existe.
la source
Vous pouvez utiliser cette bibliothèque pour diriger l'utilisateur vers des applications protégées ou démarrer automatiquement:
AutoStarter
Si le téléphone prend en charge la fonction de démarrage automatique, vous pouvez montrer à l'utilisateur un indice pour activer votre application dans ces applications
Vous pouvez vérifier par cette méthode:
Et pour diriger l'utilisateur vers cette page, appelez simplement ceci:
la source
PowerMaster -> AutoStart -> Trouvez votre application dans la section bloquée et autorisez
la source