アプリケーションの利用可能な時間を制御します。
利用時間の制御を開始するにはAppTimeManager#initメソッドを使用します。 利用時間外であることはAppTimeDelegateインターフェースのexecuteAtInvalidTimeメソッドで通知されます。
import com.fujitsu.imaps.plugin.appmanager.AppTimeManager;
import com.fujitsu.imaps.plugin.appmanager.AppTimeDelegate;
・
・
AppTimeManager appTimeManager = null;
private void checkTime() {
appTimeManager = AppTimeManager.getInstance(this
.getApplicationContext());
new CheckTimeTask(new MyAppTimeDelegate()).execute();
}
class CheckTimeTask extends AsyncTask<String, String, String> {
AppTimeDelegate appTimeDelegate = null;
CheckTimeTask(AppTimeDelegate appTimeDelegate) {
this.appTimeDelegate = appTimeDelegate;
}
protected String doInBackground(String... params) {
try {
// 利用時間の制御の開始処理
if (appTimeManager.init(appTimeDelegate)) {
return "OK";
} else {
return "OUT_OF_TIME";
}
} catch (Exception e) {
return "EXCEPTION";
}
}
protected void onPostExecute(String result) {
if (result.equals("OK")) {
// 開始処理が成功した場合の処理
} else if (result.equals("EXCEPTION")) {
// 開始処理で例外が発生した場合の処理
} else if (result.equals("OUT_OF_TIME")) {
// 開始処理で利用時間外であった処理はMyAppTimeDelegateでしているためここでは何もしない
}
}
}
class MyAppTimeDelegate implements AppTimeDelegate {
public void executeAtInvalidTime(int result) {
try {
if (appTimeManager.isStarted()) {
if (result == AppTimeManager.OUT_OF_TIME) {
// 開始処理後に利用時間外となった場合の処理
} else {
// 開始処理後に利用不可能な日となった場合の処理
}
} else {
if (result == AppTimeManager.OUT_OF_TIME) {
// 開始処理で利用時間外であった場合の処理
} else {
// 開始処理で利用不可能な日であった場合の処理
}
}
} catch (Exception e) {
// 例外処理
}
}
}
AppTimeManager appTimeManager = AppTimeManager.getInstance(this
.getApplicationContext());
try {
String startTime = appTimeManager.getStartTime(); // 利用時間の開始時間を取得する場合
} catch (Exception e) {
// 例外処理
}
AppTimeManager appTimeManager = AppTimeManager.getInstance(this .getApplicationContext()); appTimeManager.destroy();
注意