无法停止在不同进程中运行的服务(但在同一应用程序中)

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。有必要将服务作为单独的进程运行,以防止应用程序在感知位置时变慢。请就如何停止服务作为独立进程运行的建议与不同进程中的其他服务分开。

任何帮助都受到高度赞赏。

hac*_*bod 5

您使用 Context.startService() 启动您的服务,因此您使用 Context.stopService() 停止它。它运行在什么进程中并不重要。