重启后的android通知

时间:2011-12-11 01:12:51

标签: android notifications

我想在通知栏中显示一个通知,按下后会启动我的应用。虽然我这样做没有问题,但我的用户也希望在重新启动后出现通知。他们有来自其他供应商的应用程序。

我能找到的所有内容都表明必须运行该应用才能显示通知。有什么想法吗?

1 个答案:

答案 0 :(得分:11)

您需要添加一个重启后启动服务的接收器。

在启动完成的清单注册表中

<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.
         }
     }

或者只需使用像Urban AirShip这样的第三方,它可以为您处理所有这些事情。