【问题标题】:Android power save mode listenerAndroid省电模式监听器
【发布时间】:2015-06-17 17:08:51
【问题描述】:

我正在尝试在 android 5.0 lollipop 上检测省电模式状态之间的变化 - 启用或禁用,但没有任何运气。

我阅读了[此用户的文章][1]

[1]: Android power save mode listener? 但这里的示例在我的设备上不起作用 - 基于 android 5.0 的三星 Galaxy S5

我正在使用的来源是:

  <receiver android:enabled="true" android:name=".core.receiver.PowerSaveModeReceiver" >
        <intent-filter>
            <action android:name="android.os.action.POWER_SAVE_MODE_CHANGED"/>
        </intent-filter>
    </receiver>

因此,当我在设备上手动更改省电模式时,我只是没有收到任何广播。感谢您的帮助!

【问题讨论】:

    标签: android android-5.0-lollipop


    【解决方案1】:

    这是因为三星和 HTC 都决定将其电源管理器设置存储在 Settings.System 中。

    HTC 使用“user_powersaver_enable”键,三星使用“psm_switch”键。

    ContentObserver 示例如下:

    getContentResolver().registerContentObserver(Settings.System.CONTENT_URI, true, new ContentObserver(null){
      @Override
      public void onChange(boolean selfChange, Uri uri){
        super.onChange(selfChange, uri);
        String key = uri.getPath();
        key = key.substring(key.lastIndexOf("/") + 1, key.length());
    
        if (key.equals("user_powersaver_enable") || key.equals("psm_switch")){
          boolean batterySaverEnabled = Settings.System.getString(getContentResolver(), key).equals("1");
    
        }
      }
    });
    

    src:Checking for Power Saver Mode Programically

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多