Estoy usando el paquete https://www.npmjs.com/package/react-native-disable-battery-optimizations-android para mi aplicación React Native Android. Este paquete proporciona el método OpenBatteryModal() para generar una ventana emergente para ignorar el permiso de optimización de la batería. Pero no proporciona cómo obtener el estado de permiso otorgado. Entonces, mi pregunta es "¿Hay alguna forma de saber qué opción está seleccionada en la ventana emergente de permiso o hay alguna otra solución en este paquete para obtener el estado de concesión? Me llamó la atención esto durante días. Tampoco hay mucha ayuda además de usar este paquete.
Parece que esta biblioteca ( RNDisableBatteryOptimizationsAndroid ) tiene un método para verificar el estado de la optimización de la batería, incluso se menciona en su README en uso . No estoy seguro de lo que ha intentado, pero así es como puede verificar si se otorgó el permiso utilizando su API isBatteryOptimizationEnabled :
import RNDisableBatteryOptimizationsAndroid from 'react-native-disable-battery-optimizations-android'; RNDisableBatteryOptimizationsAndroid.isBatteryOptimizationEnabled().then((isEnabled)=>{ if(isEnabled){ RNDisableBatteryOptimizationsAndroid.openBatteryModal(); } }); No puede obtener la opción seleccionada por el usuario directamente, por lo que, en caso de que el ejemplo anterior no sea suficiente, puede escribir algo de lógica para obtener el estado cuando su aplicación se activa (usando AppState nativo de reacción) después de que se cierra el modal; dado que el modal es una actividad nueva, debe recibir una notificación cuando su actividad vuelva a estar activa. Optimícelo para que solo verifique el estado si se solicitó openBatteryModal .