ちょっと時間があったので、公開する目的はないけどandroidアプリを作ってみました。
どうせなら、activity,service.widgetを一度に使えるアプリを考え、簡単なボイスメールにする事にしました。
(カカオトークがあるけど)
仕様は
・現在のコンタクトリストで送信できること
・定期的に受信チェックする事
・スクリーンON/OFFのタイミングでwidgetが更新される事
てな感じで作っていたら、思わぬところではまりました。
大抵の事はネットで調べていたら出来たのですが、いままでsleepするマシンで開発経験がなかった為、PowerManagerが必要なんて考えてもなかった。(知らなかったから良い勉強になった)
signalと同じで出口関数(onReceive)は保証してくれるので、その中で処理するかPowerManagerで電源確保の必要がある。
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
context = context.getApplicationContext();
Intent service = new Intent(context, VoiceMessageService.class);
//監視タイマー通知
if (VoiceMessageService.SERVICE_TIMER.equals(action)) {
service.setAction(VoiceMessageService.SERVICE_TIMER);
PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK,
context.getApplicationContext().getText(R.string.app_name).toString()) ;
wl.acquire(30000);
}
context.startService(service);
};
0 件のコメント:
コメントを投稿