【问题标题】:Implementing FLAG_KEEP_SCREEN_ON by using SharedPreferences for an Activity通过对 Activity 使用 SharedPreferences 来实现 FLAG_KEEP_SCREEN_ON
【发布时间】:2014-08-08 23:40:44
【问题描述】:

我想让我的屏幕一直亮着。这将应用于使用此代码的 MainActivity.java:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

这是我的代码:

xml\preferences.xml

<CheckBoxPreference
        android:key="prefKeepScreenOn"
        android:title="@string/prefs_screen_on"
        android:summary="@string/summ_screen_on"
        android:defaultValue="false" />

SettingsActivity.java

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    addPreferencesFromResource(R.xml.preferences);
}

MainActivity.java

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main); // By using SharedPreferences,
                                            // this screen should never turned off.
}

如您所见,我有一个默认值 =“false”的 CheckBoxPreference。当值更改为“true”或选中 CheckBoxPreference 时,屏幕将永远不会关闭并使用以下代码:getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

我尝试在 Google 中搜索有关 SharedPreferences 的教程,但没有找到任何实现它的方法。我不了解 SharedPreferences,因为我是新手。 我非常感谢任何想帮助我的人...

【问题讨论】:

    标签: java android sharedpreferences


    【解决方案1】:

    您可以在 Activity 中这样做。

        SharedPreferences myPreference=PreferenceManager.getDefaultSharedPreferences(this);
    
       if(myPreference.getBoolean("prefKeepScreenOn", false)) {
    
           getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
      }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-03-07
      • 1970-01-01
      • 1970-01-01
      • 2013-09-15
      • 2013-05-13
      • 1970-01-01
      • 2011-11-21
      相关资源
      最近更新 更多