Android实现点击通知栏通知恢复前台
来源:互联网 发布:photoshop 软件下载 编辑:程序博客网 时间:2024/06/07 21:10
通过广播来实现,参考 http://www.ithtw.com/5684.html(leehom 2015年09月15日 于 IT十万为什么 发表)
我的实现方法是不通过广播,而是通过PendingIntent实现跳转:
Intent intent = new Intent();PendingIntent pendingIntent = null;if(BridgeUtil.isBackground(context)) { // APP在后台运行 Intent[] intents = new Intent[2]; Intent mainIntent = new Intent(MainActionContants.ACTION_MAIN_MAIN_A1.val(), null); mainIntent.addCategory(Intent.CATEGORY_DEFAULT); List<ResolveInfo> apps = context.getPackageManager().queryIntentActivities(mainIntent, 0); if(null != apps && apps.size() > 0) { intents[0] = Intent.makeRestartActivityTask(new ComponentName(context, apps.get(0).activityInfo.name)); intents[1] = new Intent(MessageActionContants.ACTION_MESSAGE_LIST_A1.val());} pendingIntent = PendingIntent.getActivities(context, 0, intents, PendingIntent.FLAG_UPDATE_CURRENT);} else { // APP进程运行在最上层,跳转消息列表 intent = new Intent(MessageActionContants.ACTION_MESSAGE_LIST_A1.val()); pendingIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);}Notification notification;// SDK版本大于16时才能使用Builder方法if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN){ NotificationCompat.Builder builder = new Builder(context); notification = builder .setContentTitle(context.getText(R.string.app_name)) // 消息标题 .setContentText(Handler_String.isEmpty(summary) ? "" : summary) // 消息内容 .setContentIntent(pendingIntent) // 消息意图 .setSmallIcon(R.drawable.app_logo) // 消息图标(app图标) .setTicker(context.getText(R.string.app_name) + " " + (Handler_String.isEmpty(summary) ? "" : summary)) // 头部显示的内容(app名+内容) .setWhen(System.currentTimeMillis()) .setDefaults(Notification.DEFAULT_ALL) // 声音、闪光、震动 .setLights(Color.GREEN, 500, 1000) .setAutoCancel(true) .build(); notification.flags |= Notification.FLAG_SHOW_LIGHTS;} else { String content = context.getText(R.string.app_name) + " " + (Handler_String.isEmpty(summary) ? "" : summary); notification = new Notification(); notification.icon = R.drawable.app_logo; // 消息图标(app图标) notification.defaults = Notification.DEFAULT_LIGHTS; notification.defaults |= Notification.DEFAULT_SOUND; notification.defaults |= Notification.DEFAULT_VIBRATE; notification.flags |= Notification.FLAG_AUTO_CANCEL; notification.when = System.currentTimeMillis(); notification.tickerText = content; // 头部显示的内容(app名+内容) notification.setLatestEventInfo(context, context.getText(R.string.app_name), content, pendingIntent);}if(null != notificationManager) { notificationManager.notify(R.drawable.app_logo, notification);}
我的实现方法是不通过广播,而是通过PendingIntent实现跳转:
0 0
- Android实现点击通知栏通知恢复前台
- Android 实现微信,QQ的程序前后台切换:back键切换后台;点击通知栏恢复前台。
- Android 实现微信,QQ的程序前后台切换:back键切换后台;点击通知栏恢复前台。
- Android 实现微信,QQ的程序前后台切换:back键切换后台;点击通知栏恢复前台。
- Android通知栏点击通知消失
- Android Service 实现下载,实现前台、通知栏同步更新
- Android 通知栏点击取消
- Android 点击通知栏 跳转
- Android通知栏点击事件
- android 如何点击通知栏中的前台服务,返回当前正在进行的活动
- Android通知栏通知
- 通知栏通知,及点击跳转(广播实现)
- Android缩小到通知栏,再点击通知栏启动
- Android 点击通知栏中的通知启动应用
- android 通知栏添加按钮点击效果
- Android 点击通知栏跳转到应用程序
- Android 通知栏Notification点击跳转无效
- Android -- Notification,如何向通知栏发送通知,点击通知开启相应的Activity
- 用Jersey构建RESTful服务
- Android 打开系统蓝牙设置
- mongo客户端mongoVUE使用说明
- Python单例模式
- 点击输入框变色
- Android实现点击通知栏通知恢复前台
- Unity资源管理汇总
- 常用正则表达式大全
- 猴子摘桃
- 后缀数组应用——公共子串的个数
- python matplotlib安装权威指南
- 秒杀多线程第五篇 经典线程同步 关键段CS
- 资深屌丝,初级程序猿的第一篇博客
- Oracle存储过程自定义数组定义与使用