Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当外部进程启动时停止服务_Java_Android_Service_Process - Fatal编程技术网

Java 当外部进程启动时停止服务

Java 当外部进程启动时停止服务,java,android,service,process,Java,Android,Service,Process,外部应用程序启动后是否可以停止服务 对于活动,您可以使用getRunningAppProcesses(),并在列表中检查您想要的应用是否正在运行。但是服务呢?使用以下方法: public class TestService extends Service { @Override public void onCreate() { ActivityManager am = (ActivityManager)this.getSystemService(ACTI

外部应用程序启动后是否可以停止服务

对于活动,您可以使用
getRunningAppProcesses()
,并在列表中检查您想要的应用是否正在运行。但是服务呢?

使用以下方法:

public class TestService extends Service {

    @Override
    public void onCreate()
    {
        ActivityManager am = (ActivityManager)this.getSystemService(ACTIVITY_SERVICE);
        List rs = am.getRunningServices(50);

        for (int i=0; i<rs.size(); i++) {
        ActivityManager.RunningServiceInfo rsi = (RunningServiceInfo) rs.get(i);
        Log.i("Service", "Process " + rsi.process + " with component " + rsi.service.getClassName());
        }
        super.onDestroy();
        Toast.makeText(getApplicationContext(),"1. onCreate()", Toast.LENGTH_SHORT).show();
    }
}
公共类TestService扩展服务{
@凌驾
public void onCreate()
{
ActivityManager am=(ActivityManager)this.getSystemService(ACTIVITY_服务);
列表rs=am.getRunningServices(50);

对于(inti=0;itry
getRunningServices()
ActivityManager的方法
但我需要在服务中运行它,而不是在活动中运行
activity\u服务
也可以在您的服务中使用,因此我的服务需要知道每X秒检查一次进程是否可用,然后停止它本身。这会耗尽电池电量,对吗?谢谢您的回答。但是还有其他方法吗这不会影响电池吗?