【问题标题】:Need android device setting screen off timeout listener需要android设备设置屏幕关闭超时监听器
【发布时间】:2012-12-23 22:29:30
【问题描述】:

我需要/想要添加设备设置屏幕关闭超时监听器,以使用用户在设置设备首选项时选择的最新时间更新我的开关。

我试过的代码:

  OnSharedPreferenceChangeListener listener = new OnSharedPreferenceChangeListener() {

        @Override
        public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
            Log.v(TAG, "Pref changes");
        }
    };
    SharedPreferences pref = getApplicationContext().getSharedPreferences(Settings.System.SCREEN_OFF_TIMEOUT, 0);
    pref.registerOnSharedPreferenceChangeListener(listener);

我试过这个,但似乎监听器只适用于特定的上下文(在我的例子中是 appContext)

谁能帮我解决这个问题?

【问题讨论】:

    标签: android timeout screen


    【解决方案1】:

    我知道这是一个老问题,但由于我最近发现了如何做到这一点,所以我想我会发布我的答案,以防其他人遇到这个问题。

    在以下示例中,“上下文”是您的活动或服务...

    int displayTimeout;
    
    ContentObserver settingsContentObserver = new ContentObserver(new Handler()) {
    @Override
    public void onChange(boolean selfChange) {
        super.onChange(selfChange);
        try {
            int checkDisplayTimeout = Settings.System.getInt(context.getContentResolver(), Settings.System.SCREEN_OFF_TIMEOUT);
            if (checkDisplayTimeout != displayTimeout) {
                // the DisplayTimeout has changed
                displayTimeout = checkDisplayTimeout;
            }
        } catch (SettingNotFoundException e) {
            // The SCREEN_OFF_TIMEOUT setting didn't change 'cause it doesn't exist
        }
    }};
    

    要让它开始收听,请使用

    context.getContentResolver().registerContentObserver(android.provider.Settings.System.CONTENT_URI, true, settingsContentObserver);
    

    通过使用android.provider.Settings.System.CONTENT_URI,此 ContentObserver 应响应许多(但不是全部)设置更改。

    请务必在听完后将其关闭。

    context.getContentResolver().unregisterContentObserver(settingsContentObserver);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-20
      相关资源
      最近更新 更多