我正在創建一個服務,以便從Service中擴展服務類。我從PreferenceScreen中獲得一個複選框,並根據它是否被選中執行操作。要獲得CheckBoxPreference,我使用getPreferenceManager()方法。但它有紅色的下劃線。當我將鼠標懸停在上面時,向我顯示這個錯誤The method getPreferenceManager() is undefined for the type BatteryService
。當我在主類中使用相同的代碼時,它就可以工作。這是我的代碼getPreferenceManager()方法未定義爲android應用程序中的BatteryService類型
public int onStartCommand(Intent intent, int flags, int startId) {
initNotification();
final CheckBoxPreference checkboxPref = (CheckBoxPreference) getPreferenceManager().findPreference("cbAlarm");
checkboxPref.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
public boolean onPreferenceChange(Preference preference,
Object newValue) {
if (newValue.toString().equals("true")) {
Toast.makeText(getApplicationContext(), "Service Started", Toast.LENGTH_LONG).show();
registerReceiver(batteryInfoReceiver, new IntentFilter(
Intent.ACTION_BATTERY_CHANGED));
} else if (newValue.toString().equals("false")) {
stopService(new Intent(getBaseContext(),
BatteryService.class));
Toast.makeText(getApplicationContext(),
"Unchecked", Toast.LENGTH_SHORT).show();
}
return true;
}
});
return START_STICKY;
}
我該如何解決這個問題?請幫助
任何人都可以幫忙嗎?我仍在等待幫助 – 2619