Servicio en primer plano eliminado en modo Doze para algunos dispositivos como oppo, vivo, MI, etc.

Estoy usando un servicio en primer plano para rastrear la ubicación en vivo del usuario. funciona bien en dispositivos Android estándar, pero en marcas como oppo, vivo, Mi, etc., la aplicación se cierra cuando el dispositivo entra en modo de reposo. También traté de usar las notificaciones FCM que aún no sirven. Me pregunto si Uber u Ola han podido resolver esto, porque he visto que la mayoría de los conductores han estado usando estas marcas. ¿Cómo pueden mantener viva su aplicación en modo de reposo?

Respuesta 1

necesita habilitar el permiso de inicio automático para aplicaciones en oppo, vivo y mi

intente el siguiente código funcionó para mí

 private void keepServicesInChineseDevices() {
        Intent intent = new Intent();

        String manufacturer = android.os.Build.MANUFACTURER;

        switch (manufacturer) {

            case "xiaomi":
                intent.setComponent(new ComponentName("com.miui.securitycenter",
                        "com.miui.permcenter.autostart.AutoStartManagementActivity"));
                break;
            case "oppo":
                intent.setComponent(new ComponentName("com.coloros.safecenter",
                        "com.coloros.safecenter.permission.startup.StartupAppListActivity"));

                break;
            case "vivo":
                intent.setComponent(new ComponentName("com.vivo.permissionmanager",
                        "com.vivo.permissionmanager.activity.BgStartUpManagerActivity"));
                break;
        }

        List<ResolveInfo> arrayList = getPackageManager().queryIntentActivities(intent,
                PackageManager.MATCH_DEFAULT_ONLY);

        if (arrayList.size() > 0) {
            AppDataHolder.getSession(MyApplication.getAppContext()).setPermissionForChineseDevices(true);
            startActivity(intent);
        }
    }

este artículo también es útil

Respuesta: 2

Ahora me enfrento a este problema y todavía no conozco una solución. El documento sobre Xamarin es bastante vago para mí en este asunto. El hecho de que los Java Generics se implementen como borrado de texto es bastante ...

Al usar owasp.esapi para filtrar los parámetros y encabezados de solicitudes entrantes, me encuentro con un problema en el que aparentemente el encabezado Referer contiene un valor que se considera como "codificación múltiple". ...

Necesito leer la hoja xls o xlsx. Leí con éxito la hoja, pero devuelve un valor decimal en lugar de una cadena (por ejemplo: para 3, devuelve 3.0). Necesito leer los valores de las celdas tal como están. así que necesito ...

Quiero abrir un enlace de una aplicación en una nueva ventana. Usar la clase de acciones es abrir el enlace en la misma ventana en la que estoy actualmente. He intentado usar la clase Actions con el siguiente código en Chrome ...