在android中使用报警添加通知

在android中使用报警添加通知,android,push-notification,alarmmanager,Android,Push Notification,Alarmmanager,我有两项活动。在第一个活动中,我设置了警报。现在,我想在5秒后触发并开始第二个活动。第二个活动推送通知。为此,我编写了以下代码: 添加报警等级: public class NotificationClass extends ActionBarActivity { AlarmManager am; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(sav

我有两项活动。在第一个活动中,我设置了警报。现在,我想在5秒后触发并开始第二个活动。第二个活动推送通知。为此,我编写了以下代码:

添加报警等级:

public class NotificationClass extends ActionBarActivity
{
    AlarmManager am;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_notification_class);
        am = (AlarmManager) getSystemService(Context.ALARM_SERVICE);

        Intent in = new Intent(this,PushNotification.class);
        //b. create pending intent
        PendingIntent pi = PendingIntent.getBroadcast(getApplicationContext(),0,in,0);

        //c. set alarm for 5 seconds.
        am.set(AlarmManager.RTC_WAKEUP,System.currentTimeMillis() + 5000,pi);
    }


}
添加通知的类:

public class PushNotification extends ActionBarActivity
{
    int notificationID = 11037;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_push_notification);
        NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this);

        mBuilder.setSmallIcon(R.mipmap.ic_launcher);
        mBuilder.setContentTitle("Notification Alert, Click Me!");
        mBuilder.setContentText("Hi, This is Android Notification Detail!");

        Intent resultIntent = new Intent(this, NotificationClass.class);
        TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
        stackBuilder.addParentStack(NotificationClass.class);

// Adds the Intent that starts the Activity to the top of the stack
        stackBuilder.addNextIntent(resultIntent);
        PendingIntent resultPendingIntent = stackBuilder.getPendingIntent(0,PendingIntent.FLAG_UPDATE_CURRENT);
        mBuilder.setContentIntent(resultPendingIntent);

        NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
        mBuilder.setAutoCancel(true);
// notificationID allows you to update the notification later on.
        mNotificationManager.notify(notificationID, mBuilder.build());
    }

}

但是,我没有得到想要的结果。我想我在课堂上遇到了一些问题。请帮我解决这个问题。android清单文件中需要什么?

您需要对BroadcastReceiver进行子类化,并在清单文件中静态注册它,或者通过LocalBroadcastManager使用registerReceiver动态注册它。BroadcastReceive()方法在收到警报生成的意图时将推送通知

静态注册很简单:

<receiver android:name=".MyAlarmReceiver" />

然后将notify代码从PushNotification.onCreate()方法移动到MyAlarmReceiver.onReceive()方法

看到或看到

希望能有帮助