Android:“开发人员选项”->“运行服务”中未显示我的服务

时间:2018-06-26 23:51:09

标签: android service foreground-service

我的问题是,尽管我正在运行前台服务,但是在“开发人员选项”中的“正在运行的服务”中看不到它。以下是详细信息。

我正在通过活动启动服务。

Intent intent = new Intent(this.getContext(), PilotForegroundService.class);
intent.putExtra(CALLSIGN, callsign);
this.getContext().startService(intent);

onStartCommand内部,我将其设置为前台服务(通过调用startForeground(...)并启动一个永久运行的AsyncTask(或直到AsyncTask中满足条件的情况下)) 。onStartCommand的代码如下所示:

public int onStartCommand(Intent intent, int flags, int startId) {
        String callsign = intent.getExtras().getString(PilotFragment.CALLSIGN);
        startForeground(PilotForegroundAsyncTask.PERSISTENT_ONGOING_NOTIF_ID, getNotification(callsign));
        pilotAsyncTask = new PilotForegroundAsyncTask(this);
        pilotAsyncTask.execute(callsign);
        return Service.START_STICKY;
    }

我可以确认AsyncTask保持运行状态,因为我进行了相应的跟踪(定期执行操作,睡眠30秒钟并重复)。

我的问题是,为什么在真实设备上运行时在“运行服务”中-我在Galaxy S7 Oreo上尝试过-在开发人员选项的“运行服务”中看不到我的服务。我看到了该过程(即使我杀死了发起的Activity),但没有看到Service。

在模拟器(相同的API级别)上,大多数情况下都可以正常工作。有时它也没有显示。

我已经检查了a relevant question in SO,但是我没有使用IntentService。我要扩展一个很好的Service

预先感谢

0 个答案:

没有答案