Java 如何运行后台服务,即使应用程序在MI设备中被终止
您好,我正在使用alaram manager运行后台服务。它工作正常,但对于某些mi设备,后台服务不工作。我使用了服务,但它不工作。如何在mi中运行我的后台服务?当您通过扩展服务类启动服务时,您将在OnStartCommand()中得到调用此方法有三种类型的返回类型基于此返回类型操作系统本身管理何时启动服务。 所以,假设在从onStartCommand()返回正确的类型时,由于内存不足或任何其他问题,您的服务在此期间被终止,那么操作系统将负责何时再次启动服务 有三种退货类型: START_STICKY:当这是返回类型时,操作系统将保证重新启动服务,如果服务被终止,它肯定会再次启动服务,即使没有挂起的意图,它也会通过将意图传递为null来启动服务 START_NOT_STICKY:表示从onStartCreated()返回后,如果进程被终止,并且没有剩余的START命令要传递,那么服务将停止而不是重新启动。这对于那些只打算在执行发送给它们的命令时运行的服务来说更有意义。例如,服务可能从报警开始每隔15分钟启动一次,以轮询某些网络状态。如果它在工作时被杀死,最好让它停下来,下次警报响起时再启动Java 如何运行后台服务,即使应用程序在MI设备中被终止,java,android,Java,Android,您好,我正在使用alaram manager运行后台服务。它工作正常,但对于某些mi设备,后台服务不工作。我使用了服务,但它不工作。如何在mi中运行我的后台服务?当您通过扩展服务类启动服务时,您将在OnStartCommand()中得到调用此方法有三种类型的返回类型基于此返回类型操作系统本身管理何时启动服务。 所以,假设在从onStartCommand()返回正确的类型时,由于内存不足或任何其他问题,您的服务在此期间被终止,那么操作系统将负责何时再次启动服务 有三种退货类型: START_STI
START\u REDELIVER\u INTENT类似于START\u NOT\u STICKY,除非服务的进程在调用给定INTENT的stopSelf()之前被终止,该INTENT将被重新传递给它,直到它完成为止(除非在多次尝试后仍然无法完成,此时系统放弃)。这对于接收要执行的工作命令并希望确保最终完成每个发送命令的工作的服务非常有用。MI UI有自己的安全选项,因此您需要的不仅仅是上述粘性服务, 你需要
可能重复:-这不适用于小米设备,因此此问题。
public void onTaskRemoved(Intent rootIntent) {
super.onTaskRemoved(rootIntent);
Log.e(TAG, " In recieve Custome Broadcast receiver");
Intent broadcastIntent = new Intent("ac.in.ActivityRecognition.RestartSensor");
sendBroadcast(broadcastIntent);
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setComponent(new ComponentName("com.android.settings","com.android.settings.Settings$HighPowerApplicationsActivity"));
startActivity(intent);