VIS*_*AGA 0 android android-intent android-service
我有一个在清单中声明为的服务('Aservice')
<service android:name=".Aservice" android:process=":my_process" > </service>
Run Code Online (Sandbox Code Playgroud)
我想知道如何从应用程序的另一个服务(让“Bservice”)停止此服务。我试过这样,服务“Aservice”找到它的进程ID使用
int pid = android.os.Process.myPid();
Run Code Online (Sandbox Code Playgroud)
然后它把它的Id发送到另一个专门用来停止自己的服务('Bservice')(服务Aservice),'Bservice'调用这个代码
android.os.Process.killProcess(pid);
Run Code Online (Sandbox Code Playgroud)
其中“pid”是发送的 Aservice 服务进程 ID,但“Bservice”无法停止服务“Aservice”,我可以看到电话设置->正在运行的服务中列出的服务。还有这个代码
ActivityManager manager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
for (RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE))
{
sClassName = service.service.getClassName();
if (sClassName.contains("com.pkg.Rand.Aservice"))
{ return true; }
}
return false;
Run Code Online (Sandbox Code Playgroud)
正在返回 True。有必要将服务作为单独的进程运行,以防止应用程序在感知位置时变慢。请就如何停止服务作为独立进程运行的建议与不同进程中的其他服务分开。
任何帮助都受到高度赞赏。
| 归档时间: |
|
| 查看次数: |
3050 次 |
| 最近记录: |