Android 如何使一个服务工作的过程中被杀死的力量?
我正在从调用Android 如何使一个服务工作的过程中被杀死的力量?,android,android-service,android-service-binding,Android,Android Service,Android Service Binding,我正在从调用startSertice()/stopService()。即使启动服务的活动已关闭,但一切正常。在“运行应用程序”中,我可以看到1个进程,1个服务正在运行。但是当我使用任务管理器类应用程序终止应用程序时,进程被终止,服务无法工作,尽管正在运行的应用程序显示0个进程,1个服务。如何使服务在这种情况下工作?我在其他一些安全应用程序中也观察到了同样的情况,比如Avast,它具有0个进程,1个服务,而服务工作正常。请帮我解决这个问题 以下是单击时的活动方法 @Override pub
startSertice()/stopService()。即使启动服务的活动已关闭,但一切正常。在“运行应用程序”中,我可以看到1个进程,1个服务正在运行。但是当我使用任务管理器
类应用程序终止应用程序时,进程被终止,服务无法工作,尽管正在运行的应用程序显示0个进程,1个服务
。如何使服务在这种情况下工作?我在其他一些安全应用程序中也观察到了同样的情况,比如Avast,它具有0个进程,1个服务
,而服务工作正常。请帮我解决这个问题
以下是单击时的活动方法
@Override
public void onClick(View arg0) {
boolean value = checkBox.isChecked();
if(value){
// start the service
startService(new Intent(this, MyService.class));
Toast.makeText(this, "Background service started", Toast.LENGTH_SHORT).show();
} else {
stopService(new Intent(this, MyService.class));
Toast.makeText(this, "Background service stopped", Toast.LENGTH_SHORT).show();
}
}
以下是服务类别:
public class MyService extends Service{
@Override
public IBinder onBind(Intent arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public void onCreate(){
super.onCreate();
Log.d("@@@@@@Service","Service created successfully");
}
@Override
public int onStartCommand(Intent intent, int flags, int stardId){
Log.d("@@@@@@Service","Service started successfully");
IntentFilter powerButtonIntentFilter = new IntentFilter();
powerButtonIntentFilter.addAction("android.intent.action.SCREEN_ON");
this.registerReceiver(pbReceiver, powerButtonIntentFilter);
Log.d("#######","Power button register registered");
return START_STICKY;
}
@Override
public void onDestroy(){
Log.d("@@@@@@Service","Service destroyed successfully");
this.unregisterReceiver(pbReceiver);
Log.d("#######","Power button register un-registered");
super.onDestroy();
}
}
在理想情况下,一切正常。即使启动服务的活动已关闭,广播接收器仍能正确收听屏幕显示操作。我可以看到应用程序在“设置”中运行。但当我使用任务管理器类应用程序强制终止进程时,进程正在终止,在运行应用程序时,我可以看到0个进程,1个服务正在运行。虽然该服务是在任务管理器强制关闭应用程序后运行的,但广播接收器并没有监听屏幕上的操作。请帮我解决这个问题
谢谢,JK首先,你需要扩展“不工作”这一非常广泛的概念。其次,我建议您发布服务类中的代码