Serviceで駐在のアプリ作成。ACTION_BOOT_COMPLETED利用

最近、更新頻度がアップしてきましたが、連続した範囲なので、まとめて呼んでもらった方が理解が深まるかもしれません。

 

今回は、駐在アプリの作り方を勉強します。

Serviceを利用している場合に、常にユーザーの情報を取得する必要がある場合でも、実行後に、電源を切ってしまうと、動作しなくなってしまう場合があります。

再起動もしないはずです。サービスは起動中であれば、メモリの空き次第によって再起動をするのですが、そうでない場合には、再起動はしないようです。

この場合、Receiverで、アンドロイドの起動時に、Serviceを呼び出す事で、Serviceを基本的には常に実行させる事ができます。

BroadCastReceiverでは、最初にmanifest.xmlを変更する必要があります。起動時のイベントを取得する為にintent-filterを用います。

<receiver android:name="BoostReceiver" android:process=":remote">
 <intent-filter>
 <action android:name="android.intent.action.BOOT_COMPLETED"/>
 </intent-filter>
</receiver>

BOOT_COMPLETEDが取得したイベントです。

BoostReceiverでは次のような形で、アクションが起動したものであれば、SampleServiceを呼び出す。と言う仕様にして実行をします。

public class BoostReceiver extends BroadcastReceiver{
 @Override
 public void onReceive(Context context, Intent intent) {                
 String action = intent.getAction();
 if(action.equals(Intent.ACTION_BOOT_COMPLETED)){
 Toast.makeText(context, "起動をしたのでサービスを開始します。", 1200).show();
 context = context.getApplicationContext();
 Intent service = new Intent(context, SampleService.class);
 context.startService(service);
 }
 }
}

これで、アンドロイド起動の際にサービスを起動させる事ができ、かつ、駐在のアプリを作成する事ができるようになりました。

 

以上です。

前後の記事

前の記事:

次の記事:

関連の記事

コメントの投稿

  • サイト内検索

新作アプリの紹介

関連サイトの紹介

アンドロイドアプリ開発TIPS
きぐるみカメラ
ふらいぱん
アンドロイドのデザイン集
Page top↑