2011-10-05 1 views

答えて

22

のAndroidManifest.xmlに追加:

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

<service android:name=".YourService" /> 

<receiver android:name="com.your.package.AutoStart"> 
    <intent-filter> 
     <action android:name="android.intent.action.BOOT_COMPLETED" /> 
    </intent-filter> 
</receiver> 

は、クラスAutoStart.javaを作成します。

public class AutoStart extends BroadcastReceiver 
{ 

    @Override 
    public void onReceive(Context context, Intent intent) 
    { 
     Intent startServiceIntent = new Intent(context, YourService.class); 
     context.startService(startServiceIntent);  
    } 

} 
+1

しかし、BroadcastReceiverを実行する必要なしに、できるだけ早くデバイスの完全なブートとして放送の受信を開始しません応用?はいの場合、放送受信機はいつ登録されますか? – Adham

+2

はい、OSは、デバイスの起動時にAutoStart.onReceive()メソッドを呼び出します。 SDカードがマウントされる前の状態である可能性があります。 apkをインストールすると、システムはあなたのマニフェストを見て、あなたの起動時に起動するためにアプリケーションがシステムに登録されます。 – ciscogambo