javascript - 如何从电池优化权限弹出窗口获取授予状态

标签 javascript android react-native android-permissions

我正在使用https://www.npmjs.com/package/react-native-disable-battery-optimizations-android我的 React Native Android 应用程序的包。该包提供 OpenBatteryModal() 方法来引发弹出窗口以获得忽略电池优化权限。但它没有提供如何获得许可授予状态。所以,我的问题是“有什么办法可以知道在权限弹出窗口中选择了哪个选项,或者这个包中是否有其他解决方法来获得授予状态?我对此感到震惊好几天了。也没有太多帮助除了使用这个包。

最佳答案

看起来这个库(RNDisableBatteryOptimizationsAndroid)有一个方法来检查电池优化的状态,甚至在其自述文件 usage 下提到了它。 。我不确定您尝试过什么,但您可以通过以下方法检查是否使用其 isBatteryOptimizationEnabled API 授予权限:

import RNDisableBatteryOptimizationsAndroid from 'react-native-disable-battery-optimizations-android';

RNDisableBatteryOptimizationsAndroid.isBatteryOptimizationEnabled().then((isEnabled)=>{
    if(isEnabled){
        RNDisableBatteryOptimizationsAndroid.openBatteryModal();
    }
});

您无法直接获取用户选择的选项,因此如果上面的示例还不够 - 您可以编写一些逻辑来获取应用程序激活时的状态(使用react-native AppState) 模态关闭后;由于该模式是一个新 Activity ,当您的 Activity 再次激活时,您应该收到通知。对其进行优化,以便您仅在请求 openBatteryModal 时检查状态。

关于javascript - 如何从电池优化权限弹出窗口获取授予状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69787403/

相关文章:

javascript - 防止 JavaScript Number 函数舍入大数字

react-native - Metro bundler 错误 : Expected path […] to be relative to one of the project roots

android - 电话簿设置(即仅联系人过滤器)android 代码示例

android - Android 中的 Google map 路线

java - 设置位图的旋转和位置

react-native - 处理 React Native 中的字体大小单位(Dp、Sp、px ..)

javascript - 迭代 JavaScript 对象数组并输出它

javascript - 暂停所有 JavaScript

javascript - Facebook 登录窗口在未登录应用程序的情况下出现和消失

javascript - 选择第一个 child 的元素