如何在oppo-coloros,vivo-funtouch os,Xiomi-MIUI操作系统等定制操作系统中保护后续服务/警报被杀死?

时间:2017-01-23 10:27:09

标签: android alarmmanager android-doze-and-standby

我有一个WakefulBroadcastReceiver IntentService,每隔半小时就会报警并做一些事情。 我已经使用setExactAndAllowWhileIdle()方法处理了打盹模式。

最近在市场上推出了一些定制操作系统的新智能手机,他们有自己的定制操作系统 基于android os。像oppo与颜色os,vivo与funtouch os,xiomi与MIUI os。在操作系统中 有一个清除记忆的功能。他们有一个触摸清除内存选项。例如,如果用户清除最近的应用列表 或从最近的应用程序列表应用程序的所有后台服务中删除应用程序以及所有警报将被终止。

如何使用这些新操作系统?

3 个答案:

答案 0 :(得分:17)

对于 MIUI 手机,您需要关闭省电模式,然后您的应用可以在后台运行。

程序:转到设置 - &gt; <强>电池 - &GT; 管理应用的电池使用情况 - &gt;点击关闭选择您的应用

<强>编程

 Intent intent = new Intent();
 intent.setClassName("com.miui.powerkeeper",
        "com.miui.powerkeeper.ui.HiddenAppsContainerManagementActivity");
 startActivity(intent);

对于 Oppo 设备,请按以下步骤操作:

  1. 设置 - &GT; 电池 - &gt; 您的应用 - &gt; 禁止这两个选项
  2. <强>编程

    Intent intent = new Intent();
    intent.setClassName("com.coloros.oppoguardelf",
           "com.coloros.powermanager.fuelgaue.PowerConsumptionActivity");
    startActivity(intent);
    
    1. 安全 - &GT; 隐私权限 - &gt; 启动管理器 - &gt; 允许您的应用
    2. <强>编程

      Intent intent = new Intent();
      intent.setClassName("com.coloros.safecenter",  
             "com.coloros.safecenter.permission.startup.StartupAppListActivity");
      startActivity(intent);
      
        通过向下拖动
      1. 锁定应用最新应用的标签中的应用
      2. 这对我有用,希望这也适合你:)

答案 1 :(得分:4)

如果您的应用因为从最近的应用列表中清除而导致应用被终止,您可以覆盖android.app.Service.onTaskRemoved()以安排重新启动应用或类似操作。

在用户明确采取行动杀死您的应用的所有其他情况下(例如,从设置中执行“强行停止”) - 就这样吧。不要试图解决这个问题。用户想杀死你的应用。让它死掉,并在用户下次再次启动应用程序时恢复功能。

答案 2 :(得分:-1)

尝试在不同的过程中运行您的服务。

<service android:name=".YourBackgroundService"
        android:process=":service">