0

設定にチェックボックスが1つあり、価値があります

SharedPreferences myPreferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());

設定のチェックボックスはデフォルトでオンになっており、これを使用しています

if(myPreferences.getBoolean("checkbox", false) == true)

ユーザーがチェックボックスの状態を変更したかどうかを確認します。上記の条件が true の場合、ステータス バーに通知が表示されます (通知とサービスのコードは表示されません)。したがって、私の問題は、設定をクリックするまで通知が届かないことです。最後に、PreferenceManager がチェックボックスと通知トリガーから値を取得します。どうすれば修正できますか?ありがとう、ウルフ。

4

1 に答える 1

2

チェックボックスはデフォルトで「true」になっているかもしれませんが、設定はそうではありません。設定がまったく設定されていない場合は、 からデフォルトの を取得しgetBooleanますfalse。あなたはおそらくこれを探しています:

if(myPreferences.getBoolean("checkbox", true) == true)

つまり、設定が (まだ) 見つからない場合は、デフォルトの を使用してtrueください。

于 2012-05-09T13:17:41.517 に答える