以编程方式自动启动权限

时间:2019-01-20 08:09:21

标签: android autostart moto oppo

我正在开发一个需要向用户询问自动启动权限的应用程序,为此,我要打开自动启动权限设置页面,以便用户使用以下针对少数制造商的代码来打开我们的应用程序的权限:

import { StackUsingTwoQueues } from './StackUsingTwoQueues';

let que = new QueueUsingTwoStacks();
que.enqueue("A");
que.enqueue("B");
que.enqueue("C");

console.log(que.dequeue());  //output: "A"

此外,当我尝试将用户重定向到以下设备时,我面临以下困难: 1.在RealMe 2 Pro(制造商为Oppo)上,系统无法启动“自动启动权限”活动。

  1. 在Moto和Nokia设备上,我无法获得“自动启动活动”的路径,因此我无法将用户直接重定向到该页面。

请告诉我如何解决这些问题。

1 个答案:

答案 0 :(得分:0)

找到了这个问题的解决方案,我正在打开电池优化页面供用户关闭我的应用程序的电池优化。

这是我正在使用的代码:

AlertDialog.Builder builder = new AlertDialog.Builder(PermissionsActivity.this);
    builder.setTitle("Turn off Battery Optimization");
    builder.setMessage("Find XYZ in the list of applications and choose ‘Don’t optimize’.");
    builder.setPositiveButton("Allow",
            new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int which) {
                    if (Build.VERSION.SDK_INT >= 23) {
                        Intent intent = new Intent();
                        intent.setAction(Settings.ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS);
                        startActivity(intent);
                    }
                }
            });

    builder.setNegativeButton("Deny", new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialogInterface, int i) {
            finish();
        }
    });
    builder.show();