How can an Android listener be created to perform a task just before entering power save mode? Also: what are some of the low power options that can be controlled by this ta
Since Lollipop (API 21) there is PowerManager#ACTION_POWER_SAVE_MODE_CHANGED broadcast intent.
So you need just to receive it:
public class PowerSaveModeReceiver extends BroadcastReceiver {
@Override
public void onReceive(final Context context, final Intent intent) {
if (BuildConfig.DEV_LOGS)
Log.d(this.getClass().getName(), String.format("onReceive(context = [%s], intent = [%s])", context, intent));
final PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
if (pm.isPowerSaveMode()) {
// do something
} else {
// do some else
}
}
}