2011-12-11 18 views
10

通知バーに通知を表示して、押したときにアプリが起動します。私はこれをやっても問題はありませんが、私のユーザは再起動後も通知を出すことを望みます。彼らはこれを行う別のベンダーのアプリを持っています。再起動後のアンドロイド通知

通知が表示されるには、アプリが実行されている必要があります。何か案は?

+0

私はeSniffからの答えがうまくいくことを知っています。しかし、私が話している他のアプリは実行中のサービスがなく、アプリ自体は実行されていませんが、通知はまだ存在し、アプリを起動します。 – miannelle2

+0

あなたはこれを解決しましたか?私も同じように思っています – bman

答えて

10

再起動後にサービスを起動する受信機を追加する必要があります。ブート受信機で

<service android:name="com.meCorp.service.MeCorpServiceClass"/> 
... 
<receiver android:name="com.meCorp.receiver.MyRebootReceiver"> 
<intent-filter> 
<action android:name="android.intent.action.BOOT_COMPLETED"/> 
</intent-filter> 
</receiver> 
... 
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/> 

完全なブートのためのマニフェストレジスタで

、サービスを起動します。

public class MyRebootReceiver extends BroadcastReceiver { 

     @Override 
     public void onReceive(Context context, Intent intent) { 
      Intent serviceIntent = new Intent(context, MeCorpServiceClass.class); 
      serviceIntent.putExtra("caller", "RebootReceiver"); 
      context.startService(serviceIntent); 
     } 
} 

ここでは、サービスクラスをバックグラウンドで実行する例を示します。

public class MeCorpServiceClass extends IntentService{ 

     @Override 
     protected void onHandleIntent(Intent intent){ 
      String intentType = intent.getExtras().getString("caller"); 
      if(intentType == null) return; 
      if(intentType.Equals("RebootReceiver")) 
        //Do reboot stuff 
      //handle other types of callers, like a notification. 
     } 
    } 

またはちょうどあなたのためのすべてのものを扱う都市飛行船のようなサードパーティ製を使用。

+1

あなたもboot_completeを受け取るために許可を加えなければなりません –

+0

@android_hungryありがとう、私はやりました。 – eSniff

+0

ようこそnice .. 2 c謝辞 –

関連する問題