我如何杀死从我的应用程序启动的服务
启动服务代码:
startService(new Intent(getApplicationContext(),MyService.class);
我需要杀死服务进程,不要停留在stopService()
方法。
答案 0 :(得分:1)
服务没有自己的流程。 UI线程上的执行就像Activity一样。除非您通过Thread或AsyncTask启动了自己的流程,否则无法结束任何流程。在这种情况下,您需要保留一个实例并强制它们在您的服务的onDestroy函数中结束自己。
答案 1 :(得分:1)
您可以尝试使用:
public void stopService(Context context) {
final PackageManager packageManager = context.getPackageManager();
ComponentName componentName = new ComponentName(
YourActivity.this.getPackageName(),
YourService.class.getName());
packageManager.setComponentEnabledSetting(componentName,
PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
PackageManager.DONT_KILL_APP);
if (YourService.intentVariable != null) {
stopService(YourService.intentVariable);
}
}
编写一个stopService方法,然后使用包管理器来停止你想要的服务,并试用包管理器。