首页 > 解决方案 > Android Oreo 中手机连接充电器 (ACTION_POWER_CONNECTED) 时启动服务

问题描述

当手机连接到 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" />

标签: javaandroid

解决方案


推荐阅读