x 分ごとにデータを更新するサービスを実行しています。ユーザーが更新の頻度 (10 分ごと、30 分ごとなど) を選択できるようにします。私は sharedpreferences を使用しましたが、このサービスは更新の頻度を変更していないようです。ここに私のサービスコードがあります:
public void onCreate()
{
super.onCreate();
_startService();
// if (MAIN_ACTIVITY != null) Log.d(getClass().getSimpleName(), "FileScannerService started");
}
/*
* starting the service
*/
private void _startService()
{
timer.scheduleAtFixedRate(
new TimerTask() {
public void run() {
try{
doServiceWork();
Thread.sleep(UPDATE_INTERVAL);
}catch(InterruptedException ie){
Log.e(getClass().getSimpleName(), "FileScannerService InterruptedException"+ie.toString());
}
}
},
DELAY_INTERVAL,
UPDATE_INTERVAL);
Log.i(getClass().getSimpleName(), "FileScannerService Timer started....");
}
そして、ここに私のsharedpreferencesコードがあります:
SharedPreferences SP = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
String interval= SP.getString("synchronisation", "1");
if(interval.equals("1")) UPDATE_INTERVAL= 30000;
if(interval.equals("2")) UPDATE_INTERVAL= 60000;
if(interval.equals("3")) UPDATE_INTERVAL= 120000;
サービス メソッドのどこにでも sharedpreferences コードを配置しようとしましたが、うまくいきません。多分私は間違った方法で。助けてくれてありがとう。