应用程序从任务管理器中删除时后台服务无效

时间:2016-08-06 14:41:19

标签: android

我按以下方式插入服务类

这是我的代码

 public class MyTestService extends IntentService {

        public MyTestService() {
            super("MyTestService");
        }

        @Override
        protected void onHandleIntent(Intent intent) {
            // Do the task here
            Log.i("MyTestService", "Service running");

           // Toast.makeText(getApplicationContext(),"Start background",Toast.LENGTH_LONG).show();
        }

        @Override
        public int onStartCommand(Intent intent, int flags, int startId) {

            return START_STICKY;


        }

        @Override
        public IBinder onBind(Intent intent) {
            return super.onBind(intent);
        }

        @Override
        public void onDestroy() {
            super.onDestroy();
            Log.i("MyTestService", "Service Destroy");
        }

    }'

清单中的权限

这是服务注册

<service
   android:name=".MyTestService"
   android:process=".Broadcast_alram"`enter code here`
   android:exported="false" >
</service>'

1 个答案:

答案 0 :(得分:0)

我没有放任何代码,但你的服务是IntentService,这意味着它会在处理Intent后自行杀死它。在您的情况下,它将执行日志。行并完成它自己,也可以通过杀死它运行的进程,如果它的应用程序与app不同(在你的情况下,它就是你在manifest中指定它的方式)。

您应该扩展Service类而不是IntentService,还要为后台作业实现线程。当你有一个服务时,你必须使用stopSelf()或stopService()自行停止它。 https://developer.android.com/guide/components/services.html