チェックボックスで音楽を操作する音楽サービスがあります。チェックボックスの状態は、共有設定に正しく保存されます! 基本設定=アプリ起動時の音楽ON、チェックボックスもON。長い間、すべて正常に動作します!
これらの状態をアクティブなアプリ セッションでのみ保存したい。アプリを再起動すると、基本的な状態 (音楽とチェックボックスがオン) になります。このコードでは、彼は最後の状態であるこの状態から始めます。
助けてくれてありがとう!
Java コード:
chkBoxMusic = (CheckBox) findViewById(R.id.checkBoxMusic);
boolean isChecked = getBooleanFromPreferences("isChecked");
chkBoxMusic.setChecked(isChecked);
chkBoxMusic.setOnCheckedChangeListener(new OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonview, boolean isChecked) {
Log.i("boolean",""+isChecked);
ActivitySound.this.putBooleanInPreferences(isChecked,"isChecked");
if (!isChecked) {
stopService(new Intent(ActivitySound.this, MusicService.class));
}
else {
startService(new Intent(ActivitySound.this, MusicService.class));
}
}
});
}
public void putBooleanInPreferences(boolean isChecked,String key) {
SharedPreferences sharedPreferences = this.getPreferences(Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putBoolean(key, isChecked);
editor.commit();
}
public boolean getBooleanFromPreferences(String key) {
SharedPreferences sharedPreferences = this.getPreferences(Activity.MODE_PRIVATE);
Boolean isChecked = sharedPreferences.getBoolean(key, false);
return isChecked;
}