如何处理用户对ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS的响应?

6

目前,我正在向用户询问与节省电量相关的应用功能:

public void startSessionClick(View view) {

        String token = MyApp.getInstance().getPrefToken();
        if (!TextUtils.isEmpty(token)) {
            throw new RuntimeException("Token is not empty");
        }

        //todo hot-fix
        if (checkBatteryOptimization()) {
            Intent intent = new Intent(this, AuthEnterPhoneActivity.class);
            startActivityForResult(intent, REQUEST_CODE_ENTER_PHONE);
        } else {
            String packageName = getApplicationContext().getPackageName();
            Intent intent = new Intent();
            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            intent.setAction(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
            intent.setData(Uri.parse("package:" + packageName));
            getApplicationContext().startActivity(intent);
            //handleAnswer();
            startSessionClick(null);
        }
    }

如何追踪对话的同意或拒绝?
当我得到同意时,我会打开下一个活动(在此之前要检查股票设置),如果用户拒绝,则再次显示此对话框。
我需要追踪失败事件,以便在出现问题时显示带有解释的对话框。

你找到解决方案了吗? - Keselme
1个回答

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接