相关疑难解决方法(0)

REQUEST_IGNORE_BATTERY_OPTIMIZATIONS如何正确完成

我的IntentService任务处于前台模式,但在Android M +中,任务在Doze模式下停止.如果应用程序使用意图将自己设置为白名单,我会读取Google禁止的内容.但是如果我使用权限并检查GRANT或DENIED,我会得到授予的结果,但没有任何反应.我没有在白名单中看到我的应用.如何在未经禁止的白名单中添加应用程序?(我添加了许可AndroidManifest.xml)

if(Build.VERSION.SDK_INT>=23){
    int permissionCheck= ContextCompat
                    .checkSelfPermission(this, Manifest.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);

    if(permissionCheck == PackageManager.PERMISSION_DENIED){

        //Should we show an explanation
        if(ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS)){
            //Show an explanation
            final String message = "";
             Snackbar.make(coordinatorLayoutView,message,Snackbar.LENGTH_LONG)
                     .setAction("GRANT", new View.OnClickListener() {
                         @Override
                         public void onClick(View v) {
                             ActivityCompat.requestPermissions(MainActivity.this, new String[]{ Manifest.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS }, PERMISSION_REQUEST_CODE);
                         }
                     })
                     .show();

                }else{
                    //No explanation need,we can request the permission
                    ActivityCompat.requestPermissions(this, new String[]{ Manifest.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS }, PERMISSION_REQUEST_CODE);
                }
            }
        }
Run Code Online (Sandbox Code Playgroud)

permissions android android-6.0-marshmallow

15
推荐指数
2
解决办法
1万
查看次数