Android power save mode listener?

后端 未结 3 371
执笔经年
执笔经年 2021-01-12 11:04

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

3条回答
  •  旧时难觅i
    2021-01-12 11:47

    Since Lollipop (API 21) there is PowerManager#ACTION_POWER_SAVE_MODE_CHANGED broadcast intent.

    So you need just to receive it:


    AndroidManifest.xml:

    
        
             
        
    
    


    PowerSaveModeReceiver.java:

    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
            }
        }
    }
    

提交回复
热议问题