¿Cómo activar programáticamente los permisos de inicio automático y ventana flotante? ¿Cómo encontrar qué teléfono necesita hacer código de inicio automático?

¿Cómo puedo habilitar el permiso de inicio automático mediante progtwigción? Por favor, ayúdenme a buscar mucho, quiero habilitar el inicio automático para el dispositivo si no está habilitado. Algunas soluciones las he encontrado a continuación.

He encontrado el código para xiaomi, honor y letv, pero quiero lo mismo para 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); } 

** Seguir Dos soluciones para oppo y vivo pueden resolver su problema, esto funcionó para mí **

Verifique la siguiente solución para habilitar el permiso de ventana flotante en el dispositivo 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(); } } } } 

Permiso de inicio automático para 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(); } } } } 

Inicio automático para 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) { } } } 

La función de autoarranque se activará automáticamente cuando descargue la aplicación desde playstore si el sistema operativo xiaomi lo quiere, ya que aplicaciones como Amazon, Google IO, etc. tampoco pueden iniciarse automáticamente. En este caso, debe ir a Permisos de seguridad -> Inicio automático -> luego habilite el inicio automático desde allí. No puede hacer que la aplicación arranque automáticamente por código. Todo lo que puede hacer es mostrar un diálogo para habilitar el inicio automático y llevar al usuario a la actividad de inicio automático, pero esta no es una buena opción ya que no puede verificar si habilitado o no.

Esto es hecho por Mi en MIUI8 para ahorrar batería. Este problema desperdició mis 2 días XD

Referencia

Puede consultar el artículo MIUI8