我正在使用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/