web-dev-qa-db-fra.com

Comment activer par programme les autorisations de démarrage automatique et de fenêtre flottante

Comment puis-je activer l'autorisation de démarrage automatique par programme? Comment trouver quel téléphone doit faire un code de démarrage automatique? Comment vérifier que l'autorisation de démarrage automatique est activée ou désactivée?

Je ne peux trouver que sur l'affichage de l'autorisation popup avec canDrawOverlay() autorisation ".

aidez-moi, j'ai beaucoup cherché, je souhaite activer le démarrage automatique de l'appareil s'il n'est pas activé.Certaines solutions que j'ai trouvées ci-dessous


J'ai trouvé du code pour xiaomi, honor et letv mais je veux la même chose pour Lenovo

if(Build.BRAND.equalsIgnoreCase("xiaomi") ){

                Intent intent = new Intent();
                intent.setComponent(new ComponentName("com.miui.securitycenter", "com.miui.permcenter.autostart.AutoStartManagementActivity"));
                startActivity(intent);


            }else if(Build.BRAND.equalsIgnoreCase("Letv")){

                Intent intent = new Intent();
                intent.setComponent(new ComponentName("com.letv.Android.letvsafe", "com.letv.Android.letvsafe.AutobootManageActivity"));
                startActivity(intent);

            }
            else if(Build.BRAND.equalsIgnoreCase("Honor")){

                Intent intent = new Intent();
                intent.setComponent(new ComponentName("com.huawei.systemmanager", "com.huawei.systemmanager.optimize.process.ProtectActivity"));
                startActivity(intent);

            }
17
Sagar

** Les deux solutions suivantes pour Oppo et Vivo peuvent résoudre votre problème, cela a fonctionné pour moi **

Veuillez vérifier la solution suivante pour activer l'autorisation de fenêtre flottante sur l'appareil Oppo

  private void initOPPO() {
    try {

        Intent i = new Intent(Intent.ACTION_MAIN);
        i.setComponent(new ComponentName("com.oppo.safe", "com.oppo.safe.permission.floatwindow.FloatWindowListActivity"));
        startActivity(i);
    } catch (Exception e) {
        e.printStackTrace();
        try {

            Intent intent = new Intent("action.coloros.safecenter.FloatWindowListActivity");
            intent.setComponent(new ComponentName("com.coloros.safecenter", "com.coloros.safecenter.permission.floatwindow.FloatWindowListActivity"));
            startActivity(intent);
        } catch (Exception ee) {

            ee.printStackTrace();
            try{

                Intent i = new Intent("com.coloros.safecenter");
                i.setComponent(new ComponentName("com.coloros.safecenter", "com.coloros.safecenter.sysfloatwindow.FloatWindowListActivity"));
                startActivity(i);
            }catch (Exception e1){

                e1.printStackTrace();
            }
        }

    }
}

Autorisation de démarrage automatique pour VIVO

 private static void autoLaunchVivo(Context context) {
    try {
        Intent intent = new Intent();
        intent.setComponent(new ComponentName("com.iqoo.secure",
                "com.iqoo.secure.ui.phoneoptimize.AddWhiteListActivity"));
        context.startActivity(intent);
    } catch (Exception e) {
        try {
            Intent intent = new Intent();
            intent.setComponent(new ComponentName("com.vivo.permissionmanager",
                    "com.vivo.permissionmanager.activity.BgStartUpManagerActivity"));
            context.startActivity(intent);
        } catch (Exception ex) {
            try {
                Intent intent = new Intent();
                intent.setClassName("com.iqoo.secure",
                        "com.iqoo.secure.ui.phoneoptimize.BgStartUpManager");
                context.startActivity(intent);
            } catch (Exception exx) {
                ex.printStackTrace();
            }
        }
    }
}

Démarrage automatique pour OPPO

 if (Build.MANUFACTURER.equalsIgnoreCase("oppo")) {
        try {
            Intent intent = new Intent();
            intent.setClassName("com.coloros.safecenter",
                    "com.coloros.safecenter.permission.startup.StartupAppListActivity");
            startActivity(intent);
        } catch (Exception e) {
            try {
                Intent intent = new Intent();
                intent.setClassName("com.oppo.safe",
                        "com.oppo.safe.permission.startup.StartupAppListActivity");
                startActivity(intent);

            } catch (Exception ex) {
                try {
                    Intent intent = new Intent();
                    intent.setClassName("com.coloros.safecenter",
                            "com.coloros.safecenter.startupapp.StartupAppListActivity");
                    startActivity(intent);
                } catch (Exception exx) {

                }
            }
        }
}
10
Sagar

La fonction de démarrage automatique sera activée automatiquement lorsque vous téléchargerez l'application depuis Playstore si xiaomi OS le souhaite en tant qu'applications comme Amazon, google IO etc ne sont pas non plus autorisés à démarrer automatiquement, dans ce cas, vous devez allez dans Autorisations de sécurité -> démarrage automatique -> puis activez le démarrage automatique à partir de là.Vous ne pouvez pas faire le démarrage automatique de l'application par code tout ce que vous pouvez faire est que vous pouvez afficher une boîte de dialogue pour activer le démarrage automatique et amener l'utilisateur à l'activité de démarrage automatique, mais ce n'est pas un bonne option car vous ne pouvez pas vérifier si le démarrage automatique est activé ou non.

Ceci est fait par Mi dans MIUI8 pour économiser la batterie. Ce problème a gaspillé mes 2 jours XD

Référence

Vous pouvez vous référer à l'article MIUI8

9
Rohit Sharma