我正在尝试开发一个用于组织的应用程序。因此,在设置特定时间的任务后,我创建了一个通知,因此该通知显示在状态栏上,当用户触摸该通知时,将显示当前活动。
我的问题是:当通知出现时,活动也会启动
还有什么可以阻止这个?我的意思是当通知出现时,活动不会自动启动,并且用户必须单击通知才能唤醒活动。
我有班级“主”和里面的警报管理员。此警报管理器将在特定时间触发并启动另一个活动(DisplayNotification)。
{
Intent intent = new Intent("com.test.DisplayNotification");
intent.putExtra("alarm_message", "Alarm");
intent.putExtra("item_name", "message");
PendingIntent broadcast = PendingIntent.getActivity(getBaseContext(), 0, intent, 0);
AlarmManager am = (AlarmManager) getSystemService(Activity.ALARM_SERVICE);
am.set(AlarmManager.RTC_WAKEUP, mili, broadcast);
}
在DisplayNotification类我有
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
String message = getIntent().getExtras().getString("item_name");
Intent i = new Intent("com.test.Main");
PendingIntent detailsIntent =
PendingIntent.getActivity(this, 0, i, 0);
NotificationManager nm = (NotificationManager)
getSystemService(NOTIFICATION_SERVICE);
Notification notif = new Notification(
R.drawable.icon,
"Time's up!",
System.currentTimeMillis());
CharSequence from = "AlarmManager - Time's up!";
notif.setLatestEventInfo(this, from, message, detailsIntent);
nm.notify(1, notif);
//---destroy the activity---
finish();
}
答案 0 :(得分:2)
使用BroadcastReceiver
来聆听'对于警报的结果,然后让它在Notification
方法中创建onReceive(...)
。