CPU 使用率と周波数を読み取り、通知バーに表示するバックグラウンド サービスがあります。
アプリケーション設定(設定)には、周波数のみの負荷のみ、またはその両方を表示するオプションがあります
ただし、共有設定を取得する方法は、最新の SharedPreference を取得しません
サービスが初めて開始されたときにのみ SharedPreference を取得し、設定画面で別のオプションを選択した場合、サービスで更新されません
ここにコードがあります
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Runnable runnable = new Runnable() {@Override
public void run() {
while (thread) {
sharedPrefs = PreferenceManager.getDefaultSharedPreferences(this);
items = sharedPrefs.getString("notif", "freq");
System.out.println(items); //this keeps displaying the same value even if i go to Preference screen and change to something else
if (items.equals("freq") || items.equals("both")) {
}
if (items.equals("load") || items.equals("both")) {
} //reading frequency and load depending on what is selected
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
mHandler.post(new Runnable() {@Override
public void run() {
if (thread) {
createNotification(); //create notification
}
}
});
}
}
};
new Thread(runnable).start();
return START_STICKY;
}