DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Fonctions standard / Fonctions de gestion de Windows / Fonctions Système
  • Google et la désactivation de l'optimisation de la batterie
  • Permissions requises
  • Condition nécessaire
  • Application en arrière-plan : Spécificité à partir de Android 10
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
SysOptimBatterieArrièrePlan (Fonction)
En anglais : SysBatteryOptimBackground
Permet de gérer l'optimisation de la batterie :
  • Récupère le mode de gestion de l'optimisation de la batterie pour l'application en cours.
  • Demande à l'utilisateur de désactiver l'optimisation de la batterie de cette application sur l'appareil.
Cette fonction permet d'empêcher le système d'exploitation d'arrêter l'exécution de l'application lorsqu'elle est en arrière-plan.
Exemple
// Si l'optimisation de la batterie est activée,
// alors on demande à l'utilisateur de la désactiver.
SI SysOptimBatterieArrièrePlan() = sobOptimisée ALORS
SysOptimBatterieArrièrePlan(sobDemandeDésactivation)
FIN
Syntaxe

Récupérer le mode d'optimisation de la batterie pour l'application en cours Masquer les détails

<Résultat> = SysOptimBatterieArrièrePlan()
<Résultat> : Constante de type Entier
Etat de l'optimisation de la batterie de l'application :
sobNonOptimiséeLa batterie n'est pas optimisée pour cette application.
sobOptimiséeLa batterie est optimisée pour cette application.

Modifier le mode d'optimisation de la batterie pour l'application en cours Masquer les détails

SysOptimBatterieArrièrePlan(<Mode>)
<Mode> : Constante de type Entier
Mode d'appel de la fonction :
sobDemandeDésactivationAffiche un message système demandant à l'utilisateur de désactiver l'optimisation de la batterie sur cette application. Si l'optimisation de la batterie est désactivée, rien ne se passe.
sobParamètreSystèmeOuvre la fenêtre des paramètres affichant la liste des applications ayant l'optimisation de la batterie désactivée.
Remarques

Google et la désactivation de l'optimisation de la batterie

Google déconseille la désactivation de l'optimisation de la batterie. La majorité des applications ne devrait pas utiliser cette option. Cette option doit être utilisée seulement pour des cas particuliers qui nécessitent de garder un contrôle total de l'exécution de l'application en arrière-plan.
Attention : Sur certains téléphones, la liste des applications non-optimisées/optimisées ne se met pas à jour à moins de redémarrer. Ce fonctionnement provient de Google. Cependant, la demande de désactivation de de l'optimisation de la batterie fonctionne correctement : seule la page des paramètres Android peut ne pas être à jour (cela peut poser problème pour la réactivation de l'optimisation de la batterie).

Permissions requises

L'utilisation de cette fonction entraîne la modification des permissions requises par l'application.
Permission requise : REQUEST_IGNORE_BATTERY_OPTIMIZATIONS : Permet à l'application de demander à l'utilisateur de désactiver l'optimisation de la batterie.
Attention : L'utilisation de cette permission sans raison valable peut amener Google à supprimer votre application du Play Store.

Condition nécessaire

La fonction SysOptimBatterieArrièrePlan est disponible uniquement sur les appareils disposant d'une version d'Android supérieure ou égale à la version 6.0 (api level 23)..
Si la fonction est utilisée avec une version antérieure du système, une erreur fatale sera déclenchée.
Pour connaître la version du système Android sur laquelle s'exécute l'application, utilisez la fonction SysVersionAndroid.
Android

Application en arrière-plan : Spécificité à partir de Android 10

A partir de Android 10, il n'est plus possible d'ouvrir une fenêtre lorsque l'application est en arrière-plan.
La fonction SysOptimBatterieArrièrePlan peut provoquer l'ouverture d'une fenêtre. Si cette fonction est utilisée alors que l'application est en arrière-plan, une erreur fatale sera générée.
Conseils :
  • Il est possible de savoir si l'application est en arrière-plan grâce à la fonction EnModeArrièrePlan.
  • Si une application a besoin d'interagir avec l'utilisateur alors qu'elle se trouve en arrière-plan, la solution consiste à afficher une notification (via le type Notification). Lors du clic sur la notification, l'application sera remise au premier plan si la propriété ActiveApplication est à Vrai. Il est également possible d'ouvrir une fenêtre depuis la procédure passée à la propriété ActionClic.
Composante : wd300android.aar
Version minimum requise
  • Version 26
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 25/05/2022

Signaler une erreur ou faire une suggestion | Aide en ligne locale