将手机连接到Android Oreo中的充电器(ACTION_POWER_CONNECTED)时启动服务

时间:2018-12-17 15:51:59

标签: java android

当移动设备连接到Android Oreo中的充电器(ACTION_POWER_CONNECTED)时,启动服务时出现问题,方法是在接收者清单中指定它不起作用(Android Oreo的局限性)。 我已经尝试过JobSheduler,但没有成功(连接充电器时服务无法启动),我的代码如下:

public class JService extends JobService {
    @Override
    public boolean onStartJob(final JobParameters jobParameters) {

        //RUN SERVICE

        return false;
    }

    @Override
    public boolean onStopJob(final JobParameters jobParameters) {
        return false;
    }
}

然后从MainActivity调用(onCreate):

ComponentName myService = new ComponentName(this, JService.class);
    JobInfo myJob = new JobInfo.Builder(LOAD_ARTWORK_JOB_ID,myService)
            .setRequiresCharging(true)
            .setPersisted(true)
            .build();

    JobScheduler jobScheduler = (JobScheduler) getSystemService(Context.JOB_SCHEDULER_SERVICE);
    jobScheduler.schedule(myJob);

最清晰的声明:

<service android:name=".services.JService"
             android:permission="android.permission.BIND_JOB_SERVICE" />

0 个答案:

没有答案