Как вызвать ключ CheckBoxPreference для файла SettingsPreferences.java - PullRequest
0 голосов
/ 26 апреля 2018

Я создал приложение WebView с файлом MainActivity.java на основе некоторых знаний об Android Java. Мой вопрос заключается в том, что я хочу, чтобы экран всегда был включен при выборе ChackBoxPreference, когда мое приложение открывается пользователями. Я закодировал как дано ниже:

setting_preferences.xml

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
    <CheckBoxPreference
        android:title="@string/screen_on_off"
        android:summary="@string/keep_screen_on_selection"
        android:key="@string/display_screen"
        android:defaultValue="false" />
</PreferenceScreen>

Когда пользователь выбирает это поле, экран должен всегда отображаться в моем коде MainActivity.java или в других настройках по умолчанию.

SettingsActivity.java:

public class SettingsActivity extends PreferenceActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    addPreferencesFromResource(R.xml.setting_preferences);
    PreferenceManager preferenceManager = getPreferenceManager();
    if (preferenceManager.getSharedPreferences().getBoolean("display_screen", true)){
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
    } 
    else {
    //nothing to do as default value by phone display time
    }
}

Как мне вызвать FLAG_KEEP_SCREEN_ON в мой файл MainActivity.java. Когда я запускаю приложение эмулятора / отладки и открываю экран настроек, появляется диалоговое окно с закрытием приложения, например «К сожалению, приложение остановлено» *

Надеюсь, я получу лучшие решения для этого и заранее спасибо.

1 Ответ

0 голосов
/ 27 апреля 2018

Найти решение самостоятельно.

Используя SharedPreferences, где мы хотим активировать key, указанный в файле .xml, можно использовать в любом файле .java на SharedPreferences согласно нашему требованию.

...