牛轧糖 - JobScheduler RESULT_SUCCESS 但没有作业输出

我开始这样的工作:


JobScheduler scheduler = (JobScheduler) getSystemService(JOB_SCHEDULER_SERVICE);


    if(scheduler.getPendingJob(JOB_NUMBER) == null) {


        ComponentName componentName = new ComponentName(this, mService.class);

        JobInfo info = new JobInfo.Builder(JOB_NUMBER, componentName)

                .setRequiresCharging(false)

                .setRequiredNetworkType(JobInfo.NETWORK_TYPE_UNMETERED)

                .setPersisted(true)

                .setPeriodic(60 * 60 * 1000)

                .build();


        int resultCode = scheduler.schedule(info);

        if (resultCode == JobScheduler.RESULT_SUCCESS) {

            Log.d(TAG, "Service is not running, Job " + String.valueOf(JOB_NUMBER) + " Scheduled.");

        } else {

            Log.d(TAG, "Service is not running, However job scheduling failed.");

        }


    } else{

        Log.d(TAG, "Service is already scheduled.");

    }

在服务中:


@Override

public boolean onStartJob(JobParameters jobParameters) {


    Log.d("Service", "v1.2 Started");

我得到输出“服务正在运行”但不是“服务已启动”。并且应用程序也没有接收到服务应该发送的广播。


这一切在 Android 8 中都可以完美运行,但在 7 中则不然。


编辑:我猜该服务必须正在运行,因为当我关闭并重新启动应用程序时,我收到消息“服务已安排好”。那么,为什么我看不到我的服务的任何日志输出呢?在牛轧糖中,它是否像在奥利奥中一样直接运行?或者我必须等待一个小时才能开始?


有只小跳蛙
浏览 239回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java