ウェブアプリケーション,インジェクション,コマンドインジェクション

androidアプリケーション開発の基本

デバイスの起動と同時にアプリを開始する

Auto-Launching Application at Boot Time

もし、デバイスが起動した時にはいつでもアプリケーションを
自動的に開始させる必要があるのなら、
BroadcastReceiverを登録する必要があります。
デバイスの起動最中にアプリを自動的に始動させるには、
パッケージに新しいクラスを追加し、追加したクラスをBroadcastReceiverを
元にしたクラスの拡張させたものにします。
以下のコードは、BootupReceiverクラスの例です。

package net.learn2develop.autostartapp;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;

public class BootupReceiver extends BroadcastReceiver{
   @Override
   public void onReceive(Context context, Intent intent){
     Toast.makeText(context, "App started", Toast.LENGTH_LONG).show();

     //---start the main activity of our app---
     Intent i = new Intent(context,MainActivity.class);
     i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
     context.startActivity(i);
   }
}

デバイスが起動したときに、デバイスはBroadcastReceiverを放出し、
onReceiver()メソッドを呼び出します。
デバイスが起動したときにアクティビティを表示するためには、
Intentオブジェクトを使っていきます。
FLAG_ACTIVITY_NEW_TASKフラグをIntentオブジェクトに
加えることをわすれないように。
broadcastレシーバを登録するためには、
AndrooidManifest.xmlファイルに<receiver>要素を
加える必要があります。
RECEIVE_BOOT_COMPLETED認可も必要になります。

<manifest xmlns:android="http//schemas.android.com/apk/res/android"
   package="net.learn2develop.autostartapp"
   android:versionCode="1"
   android:versionName="1.0" >

<uses-sdk
   android:minSdkVersion="8"
   android:targetSdkVersion="15" />

<uses-permission android:name="android.permission.
         RECEIVE_BOOT_COMPLETED" />

<application
   android:icon="@drawable/ic_launcher"
   android:label="@string/app_name"
   android:theme="pstyle/AppTheme">
   <activity
     android:name=".MainActivity"
     android:label="@style/title_activity_main" >
     <intent-filter>
       action android:name="android.intent.action.MAIN" />

       <category android:name="android.intent.category.LAUNCHER" />
     </intent-filter>
   </activity>

   <receiver android:name=".BootupReceiver">
     <intent-filter>
       <action android:name="android.intent.action.BOOT_COMPLETED" />
       <category android:name="android.intent.category.DEFAULT" />
     </intent-filter>
   <receiver>
   </application>
</manifest>

このコードを加えることでデバイスが起動したときに
アプリケーションが自動的に開始するようになります。

ホーム
便利堂ロゴ
inserted by FC2 system