当前位置: 首页 > 知识库问答 >
问题:

oppo、vivo、mi android版本7.1.2中被杀后后台服务不重启

葛俊
2023-03-14

我想在后台运行服务,即使应用被干掉。该功能在某些设备上运行良好。但在oppo、mi和Vivo手机中,如果应用程序被干掉,它就无法运行。如何为这些设备执行此操作

共有1个答案

微生俊健
2023-03-14

在中国制造的设备中,要使服务在后台连续运行,我们必须采用多种方式来覆盖它。

>

  • 在应用程序设置中启用自动启动权限。对于自动启动代码,可以使用以下内容:-[https://github.com/judemanutd/autostarter][1]

    在中文设备中,如果您没有在应用程序设置中启用自动启动选项,则不会调用onTaskRemoved。

    在服务的onTaskRemoved中添加以下代码段:-

    override fun onTaskRemoved(rootIntent: Intent?) {
            log("onTaskRemoved is called::")
            val restartServiceTask = Intent(applicationContext, EndlessService::class.java)
            restartServiceTask.setPackage(packageName)
            restartServiceTask.action = Actions.START.toString()
            val pendingIntent = PendingIntent.getService(this, 1, restartServiceTask, PendingIntent.FLAG_ONE_SHOT)
            val alarmManager = getSystemService(ALARM_SERVICE) as AlarmManager
            alarmManager[AlarmManager.RTC_WAKEUP, SystemClock.elapsedRealtime() + 1000] =
                pendingIntent
            super.onTaskRemoved(rootIntent)
        } 
    

  •  类似资料: