Android Notification的使用

本文详细介绍了Android 4.1中通知功能的增强,特别是如何使用`android:parentActivityName`属性在点击通知打开的Activity与返回键行为之间的交互。提供了核心代码示例,包括如何构建通知并设置返回栈,确保用户从特定Activity返回到主Activity,而非回到历史任务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[size=medium] Android 4.1 (Jelly Bean) 增强了通知功能,在AndroidManifest.xml中可以为Activity添加属性[color=red]android:parentActivityName="MainActivity"[/color],实现点击通知打开ResultActivity时,再按返回键,回到MainActivity,而不是回到之前的Task。只在4.1的机器上有效,在2.x的机器上和以前没有任何区别。

核心代码如下:[/size]
    public void showNotification() {
NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.ic_launcher)
.setContentTitle("My Notification")
.setContentText("Hello World");

//NotificationCompat.InboxStyle inboxStyle = new NotificationCompat.InboxStyle();
// String [] events = new String[6];
// inboxStyle.setBigContentTitle("Event tracker details:");
// for (String event : events) {
// inboxStyle.addLine(event);
// }
// mBuilder.setStyle(inboxStyle);

Intent intent = new Intent(this, ResultActivity.class);

//The stack builder object will contain an artificial back stack for the started Activity.
//This ensures that navigating backward from the Activity leads out of your application to the Home screen
TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);

//Adds the back stack for the Intent (but not the Intent itself)
stackBuilder.addParentStack(ResultActivity.class);

//Adds the intent that starts the Activity to the top of the stack
stackBuilder.addNextIntent(intent);

PendingIntent pendingIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT);
mBuilder.setContentIntent(pendingIntent);

mBuilder.setDefaults(Notification.DEFAULT_SOUND);
mBuilder.setAutoCancel(true);
//mBuilder.setDefaults(Notification.DEFAULT_ALL);

NotificationManager mgr = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
mgr.notify(0, mBuilder.build());
}


[size=medium]部分AndroidManifiest.xml代码[/size]
<activity android:name=".ResultActivity"
android:parentActivityName=".MainActivity" >
</activity>


[size=medium]参考:[url]http://developer.android.com/guide/topics/ui/notifiers/notifications.html[/url][/size]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值