我是android developpement的新手。我已经以5秒的间隔设置了警报。 因此,一旦触发警报,我就设置了通知。但是当我选择通知时,我将页面配置为移动其他一些活动。但是没有任何事情发生。
public class Snooze extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Intent intent1=new Intent(context,NotificaitonPage.class);
intent1.putExtra("notify","SNOOZE") ;
intent1.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
int requestCode = 0;
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, requestCode, intent1, PendingIntent.FLAG_UPDATE_CURRENT);
NotificationCompat.Builder noBuilder = new NotificationCompat.Builder(context)
.setSmallIcon(R.mipmap.ic_launcher)
.setContentTitle("Push notification alerts")
.setContentText("This for alaram notification")
.setAutoCancel(true)
.setContentIntent(pendingIntent)
.setStyle(new NotificationCompat.BigTextStyle().bigText("This for alaram notification")) ;
NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(0, noBuilder.build()); //0 = ID of notification
}
}
所以,请帮我解决问题。 提前谢谢。
答案 0 :(得分:1)
将以下标记添加到intent1
:
intent1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
正如@Alexander在另一个答案中指出的那样,您还需要将PendingIntent
设置为:
pendingIntent.getActivity();
答案 1 :(得分:1)
创建 PendingIntent 时,您应使用PendingIntent.getActivity()
代替PendingIntent.getBroadcast
。查看更多link