【问题标题】:Service started but not shown in setting -> running services服务已启动但未显示在设置 -> 运行服务中
【发布时间】:2017-11-24 03:22:32
【问题描述】:

我有一个从 Service 扩展而来的 android 服务,并且 onStartCommand 返回 START_STICKY。该服务是自运行服务,没有人绑定它。

在我的 MainActivity 中,我正在使用

Intent startService = new Intent(getApplicationContext(), MyService.class);
startService(startService);

除了设置->运行服务“显示缓存的进程”选项卡没有为我的应用程序显示任何内容,但在“缓存的后台进程”选项卡中显示“正在使用的缓存服务”,一切正常。我怀疑为什么“显示缓存的进程”选项卡中没有显示,但我看到其他应用程序已显示?

【问题讨论】:

    标签: android service


    【解决方案1】:

    原因是您的服务与应用程序在同一进程上运行。如果你在清单文件中设置android:process=":yourServiceName",你的服务将启动一个新进程,你可以看到你的服务。

    另外,请检查您的服务是否正在使用此方法实际运行

    private boolean isMyServiceRunning(Class<?> serviceClass) {
        ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
        for (ActivityManager.RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) {
            if (serviceClass.getName().equals(service.service.getClassName())) {
                return true;
            }
        }
        return false;
    }
    

    【讨论】:

      猜你喜欢
      • 2016-10-05
      • 1970-01-01
      • 1970-01-01
      • 2021-08-29
      • 1970-01-01
      • 2019-09-07
      • 1970-01-01
      • 2023-04-08
      • 1970-01-01
      相关资源
      最近更新 更多