Android点击通知进入详情,Android 点击通知进入正在运行的程序

好久没写文章,今天遇到一个新需求,app正在通话过程切换到后台,点击通知栏的时候 回到通话界面。

直接上代码吧首先是实现通知的代码

NotificationCompat.Builder notificationBuild =null;intNOTIFY_ID =100;

NotificationManager mNotificationManager;booleanisHasNotification =false;

android.app.Notification notification;/**

* 显示通知栏

*/public void showNotification(String title,String content){if(mNotificationManager ==null&&!isHasNotification){

Intent deleteIntent =newIntent(this, NotificationTipsReceiver.class);

notificationBuild =newNotificationCompat.Builder(this);

notificationBuild.setAutoCancel(false);//设置能手动取消notificationBuild.setOngoing(true);//设置不能取消notificationBuild.setContentTitle(title);

notificationBuild.setSmallIcon(R.mipmap.icon);//设置图标notificationBuild.setTicker("小尾巴 正在接单中");

notificationBuild.setDefaults(android.app.Notification.DEFAULT_ALL);

notificationBuild.setPriority(android.app.Notification.PRIORITY_MAX);

PendingIntent pendingIntent = PendingIntent.getBroadcast(this,0, deleteIntent,0);

notificationBuild.setContentIntent(pendingIntent);

mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

}

notification = notificationBuild.build();

mNotificationManager.notify(NOTIFY_ID, notification);

isHasNotification =true;

}下面是通知点击处理类

publicclassNotificationTipsReceiverextendsBroadcastReceiver{@OverridepublicvoidonReceive(Context context, Intent intent) {

//判断app进程是否存活

booleanisApplive = SystemUtil.isAppAlive(context,"com.iol8.te.tr");

Intent  dialogIntent =newIntent(context, DialogueActivity.class);

dialogIntent.setFlags(Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED|Intent.FLAG_ACTIVITY_NEW_TASK);//注意这里是关键  经过测试Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED也可以用Intent.FLAG_ACTIVITY_SINGLE_TOP  也可以做到  具体区别没有去深入测试if(isApplive) {if(WYIMManager.isDialogue) {if(!SystemUtil.isAppRunningForeground(context)){//app在后台运行context.startActivity(dialogIntent);

}return;

}

}

}

}

另外附上一个Intent的flag 启动介绍(感谢这位大神的分享)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值