Cómo activar el inicio automático de mi aplicación en xiaomi mediante programación
Tengo servicio en mi aplicación que debe estar ejecutando en segundo plano todo el tiempo, en todos los dispositivos de su funcionamiento bien, excepto Xiaomi, he leído algunos de los que tenemos que habilitar inicio automático en la configuración de la aplicación para mantener el servicio en ejecución.
Así que por favor dígame cómo o habilitar el inicio automático gramatically porque el usuario nunca hará eso.
- Cómo desvincular correctamente los servicios
- ¿Cómo manejar las actualizaciones del oyente de ubicación dentro de un servicio en Android?
- La mejor manera de actualizar un widget de Android cada 20-30 segundos: Handler, Service or Alarm?
- Buenas prácticas para la comunicación asíncrona entre servicios
- Utilizar una intención para enviar datos a mi actividad
Cualquier ayuda será apreciada.
- Cómo obtener el contexto de la aplicación
- Mostrando una Snackbar desde dentro de un Servicio
- El servicio no se detendrá cuando el método stopService se llame
- Servicio de Android e hilo de la interfaz de usuario
- Cómo enviar la ubicación del dispositivo en el servidor cuando sea necesario
- ¿Cómo mostrar Toast de un Servicio después de que la actividad principal termine?
- BroadcastReceiver vs Servicio
- Parámetro startId de servicio de Android
Prueba esto … funciona para mí. Se abrirá la pantalla para activar el inicio automático. Pero si intenta desactivar desde allí, cerrará la aplicación. Estoy buscando una solución para eso. Hasta entonces usted puede utilizar esto como solución.
String manufacturer = "xiaomi"; if(manufacturer.equalsIgnoreCase(android.os.Build.MANUFACTURER)) { //this will open auto start screen where user can enable permission for your app Intent intent = new Intent(); intent.setComponent(new ComponentName("com.miui.securitycenter", "com.miui.permcenter.autostart.AutoStartManagementActivity")); startActivity(intent); }
No puedes activar el inicio automático directamente, pero puedes redirigir al usuario a la pantalla de configuración de inicio automático y pide al usuario que lo active para tu aplicación. Utilice la siguiente solución para los teléfonos xiaomi, oppo e vivo. La pantalla de inicio automático se iniciará si existe.
try { Intent intent = new Intent(); String manufacturer = android.os.Build.MANUFACTURER; if ("xiaomi".equalsIgnoreCase(manufacturer)) { intent.setComponent(new ComponentName("com.miui.securitycenter", "com.miui.permcenter.autostart.AutoStartManagementActivity")); } else if ("oppo".equalsIgnoreCase(manufacturer)) { intent.setComponent(new ComponentName("com.coloros.safecenter", "com.coloros.safecenter.permission.startup.StartupAppListActivity")); } else if ("vivo".equalsIgnoreCase(manufacturer)) { intent.setComponent(new ComponentName("com.vivo.permissionmanager", "com.vivo.permissionmanager.activity.BgStartUpManagerActivity")); } List<ResolveInfo> list = context.getPackageManager().queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY); if (list.size() > 0) { context.startActivity(intent); } } catch (Exception e) { Crashlytics.logException(e); }
Usted puede hacerlo siguiendo lo siguiente:
if (manufactXiaomi.equalsIgnoreCase(android.os.Build.MANUFACTURER)) { if (!session.getVisibilityOfAutoStartDialog()) {Intent intent = new Intent(); intent.setComponent(new ComponentName("com.miui.securitycenter", "com.miui.permcenter.autostart.AutoStartManagementActivity")); startActivity(intent);}}
Si desea seguir ejecutando su servicio es el fondo que necesita para cambiar algunos ajustes de su dispositivo Compruebe esto
Podría por encima del código funciona para usted
try this if ("xiaomi".equalsIgnoreCase(str)) { intent.setComponent(new ComponentName("com.miui.securitycenter", "com.miui.permcenter.autostart.AutoStartManagementActivity")); } else if ("oppo".equalsIgnoreCase(str)) { intent.setComponent(new ComponentName("com.coloros.safecenter", "com.coloros.safecenter.permission.startup.StartupAppListActivity")); } else if ("vivo".equalsIgnoreCase(str)) { intent.setComponent(new ComponentName("com.iqoo.secure", "com.iqoo.secure.MainGuideActivity.")); }
- ¡Stub de la mensajería del dispositivo de Amazon! Android Studio
- SetMaxDate () no funciona perfectamente en Lollipop 5.0.1 android y necesita una solución adecuada