友盟推送8.0信息不展示(推送状态却为已送达)
其实这种状况是由于android的版本过高,一开始的通知栏不能使用,需要在原本的通知栏上加一些设置,代码我已经放入service中
在appliaction 中的onCreat 方法中进行初始化友盟并获取到 tounk值PushAgent mPushAgent = PushAgent.getInstance(this);//注册友盟推送mPushAgent.enable();onUmengPush(mPushAgent);device_token = UmengRegistrar.getRegistrationId(this);//友盟所需设备id/*** 设置友盟** @param mPushAgent*/private void onUmengPush(PushAgent mPushAgent) {mPushAgent.setDebugMode(false);//PushSDK的调试日志默认是输出的.建议调用mPushAgent.setDebugMode(false)关闭日志输出。//mPushAgent.setNoDisturbMode(23, 0, 7, 0);//SDK默认在“23:00”到“7:00”之间收到通知消息时不响铃,不振动,不闪灯//mPushAgent.setNotificationPlaySound(MsgConstant.NOTIFICATION_PLAY_SERVER); //声音//mPushAgent.setNotificationPlayLights(MsgConstant.NOTIFICATION_PLAY_SERVER);//呼吸灯//mPushAgent.setNotificationPlayVibrate(MsgConstant.NOTIFICATION_PLAY_SERVER);//振动mPushAgent.setDisplayNotificationNumber(2);//通知栏按数量显示mPushAgent.setPushIntentServiceClass(YouMengPushIntentService.class); //注册好自己所写的服务,准备接受友盟推送过来的信息}
创建自己接受消息的service,在这里了我有有人感觉很奇怪,友盟的消息为什么使用一个service来获取数据,一开始我也很疑惑,那么我们继续向下看
public class YouMengPushIntentService extends UmengBaseIntentService {@Overrideprotected void onMessage(Context context, Intent intent) {super.onMessage(context, intent);try {Intent data = new Intent(intent);
// data.setClass(context, DialogActivity.class);
// data.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);//需为Intent添加Flag:Intent.FLAG_ACTIVITY_NEW_TASK,否则无法启动Activity。
// context.startActivity(data);//可以通过MESSAGE_BODY取得消息体final String message = intent.getStringExtra(BaseConstants.MESSAGE_BODY);if (TextUtils.isEmpty(message)) {return;}final UMessage msg = new UMessage(new JSONObject(message));getNotification(context, msg.title, msg.text);} catch (Exception e) {e.printStackTrace();}}public void getNotification(Context context, String title, String msg) {NotificationManager manager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);int id = (int) (System.currentTimeMillis() / 1000);Intent intentClick = new Intent(this, NotificationClickReceiver.class);intentClick.putExtra("title", title);intentClick.putExtra("msg", msg);intentClick.setAction("notification_clicked");intentClick.putExtra(NotificationClickReceiver.TYPE, 0); //0代表点击PendingIntent pendingIntentClick = PendingIntent.getBroadcast(this, id, intentClick, PendingIntent.FLAG_ONE_SHOT);Intent intentCancel = new Intent(this, NotificationClickReceiver.class);intentCancel.setAction("notification_cancelled");intentCancel.putExtra(NotificationClickReceiver.TYPE, 1); //1代表清除的监听PendingIntent pendingIntentCancel = PendingIntent.getBroadcast(this, id, intentCancel, PendingIntent.FLAG_ONE_SHOT);if (Build.VERSION.SDK_INT >= 26) { //判断8.0,若为8.0型号的手机进行创下一下的通知栏NotificationChannel channel = new NotificationChannel("channel_id", "channel_name", NotificationManager.IMPORTANCE_HIGH);if (manager != null) {manager.createNotificationChannel(channel);}Notification.Builder builder = new Notification.Builder(context, "channel_id");builder.setSmallIcon(R.drawable.icon_180).setWhen(System.currentTimeMillis()).setLargeIcon(BitmapFactory.decodeResource(context.getResources(), R.drawable.icon_180)).setContentTitle(title).setContentText(msg).setAutoCancel(true).setContentIntent(pendingIntentClick).setDeleteIntent(pendingIntentCancel);manager.notify(id, builder.build());} else {Notification.Builder builder = new Notification.Builder(context);builder.setSmallIcon(R.drawable.icon_180).setWhen(System.currentTimeMillis()).setLargeIcon(BitmapFactory.decodeResource(context.getResources(), R.drawable.icon_180)).setContentTitle(title).setContentText(msg).setAutoCancel(true).setContentIntent(pendingIntentClick).setDeleteIntent(pendingIntentCancel);;if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {manager.notify(id, builder.build());}}}
}
在清单文件中注册服务这是后我们看到最后面的一行代码是开启一个新的进程,这个进程是友盟接受信息的进程,这次解开了我之前的疑惑,这样就可以在自己的service中自定义自己的通知栏,信息拦截等等需求
<!-- 友盟推送service --><serviceandroid:name="service.YouMengPushIntentService"android:process=":push" />
友盟推送8.0信息不展示(推送状态却为已送达)相关推荐
- 友盟+高吞吐、极速高并发智能推送服务,赋能值得买科技的精准化用户运营
数据智能产业创新服务媒体 --聚焦数智 · 改变商业 经过多年的发展,我国消费电商总体上处于商品溢出.内容溢出的状态.如何提升C端(消费者)和B端(品牌与商家)的连接效率,成为消费电商企业亟需解 ...
- 以友盟+U-Push为例,深度解读消息推送的筛选架构解决方案应用与实践
本文作者:友盟+技术专家 刘章军 前言:App推送在日常运营场景中经常用到,如:资讯类的新闻及时下发.生活服务类优惠券精准推送. 电商类的货品状态或是促销优惠等,通常开发者会根据运营的需求通过自建消息 ...
- 关于友盟QQ登录返回的信息
如题 哪位哥哥遇到过这种情况 这是打印日志: info:{ is_yellow_year_vip=0, vip=0, level=0, province=北京, yellow_vip_level ...
- 友盟的9.4.0版本以上的集成测试
首先找到友盟中的配置,生成属于你app的二维码: 然后根据友盟中的文档,配置数据,然后扫码走流程: 文档见:开发者中心 (umeng.com) 1 Android应用 1.需集成9.4.0及以上版本的 ...
- 友盟+联合达摩院决策智能实验室正式发布国内首款智能推送,消息推送3.0时代来临
智能手机.电脑.电视.物联网设备上时时刻刻都在收到一些消息推送.回顾今年让用户印象深刻的推送消息:2021年春晚红包.建党一百周年.奥运,还有最近神州成功飞天的实时推送等.在众多国民级的APP以及重磅 ...
- 友盟+联合达摩院决策智能实验室正式发布国内首款智能推送,消息推送3.0时代来临...
智能手机.电脑.电视.物联网设备上时时刻刻都在收到一些消息推送.回顾今年让用户印象深刻的推送消息:2021年春晚红包.建党一百周年.奥运,还有最近神州成功飞天的实时推送等.在众多国民级的APP以及重磅 ...
- 快速上手友盟推送前后端
公司要求做一个服务器端的推送功能,客户端主要是以移动端为主,混合式的app前端,在友盟官网看了下demo,有后台服务器端,前端主要是原生安卓,IOS还有windos.所以根据自身实际能力,按照demo ...
- 友盟推送集成的常见问题
友盟消息推送注意事项 SDK集成:http://dev.umeng.com/push/android/integration 常见问题:http://bbs.umeng.com/thread-5911 ...
- 友盟小米收不到推送消息_友盟推送SDK集成测试、常见问题以及注意事项总结
最近为了解决公司APP在一些手机出现的推送问题重新集成了最新版的友盟推送SDK,花费了几天时间终于把集成和测试工作完成,最终在华为,Nexus,三星,小米,HTC,魅族等10多部手机上测试并达到了预想 ...
最新文章
- Python知识点5——字典
- 地铁时光机第一阶段冲刺六
- 亚马逊给警察局装备了人脸识别系统就万事大吉了?没那么容易
- 【面试招聘】不要忽视实习面试失败对校招的影响
- MongoDB数据库(8.Python中使用mongodb数据库以及pymongo模块用法)
- 如果唐代诗人有微博,简直就是真实版「梦回大唐」
- 60TB 数据量的作业从 Hive 迁移到 Spark 在 Facebook 的实践
- 手机版腐蚀rust_手机进水后黑屏,该怎么办?切忌做这几件事
- python-django rest framework框架之渲染器
- Python——jieba优秀的中文分词库(基础知识+实例)
- 中标麒麟NeoKylin系统使用--使用UFEI安装中标麒麟系统过程中/dev/disk/by-label/NeoKylin does not exit问题的解决
- 微信小程序获取用户收货地址
- 电子类研究生的STM32小白入门 一个定时器 四个channel复用映射 实现超声波四路测距
- matlab八节点六面体程序,八节点六面体等参数元计算程序
- 苹果手机软件闪退怎么解决_王者荣耀筑梦祈愿闪退设备不支持怎么办 王者荣耀筑梦祈愿闪退设备不支持解决方法...
- 【调剂】中国民航大学课题组招收硕士生,等离子体模拟领域,国家自然科学基金资助课题...
- uniapp h5在浏览器唤起app
- UE5学习笔记(二)——3D材质蓝图的常用节点介绍
- SpringCloud[01]Eureka服务注册与发现
- 【taichi】用最少的修改将太极的pbf2d(基于位置的流体模拟)改为pbf3d
热门文章
- 数据中心建筑绿色评价系统简介
- 全球及中国建筑节能行业十四五发展态势及产值规模预测报告2021-2027年
- 陌陌的动态列表mysql_根据SQL结果集构建动态二维列表展示在excel中
- 计算机网络在自动化方面的应用,自动化技术在电子信息技术的应用
- 数据库中同一张表进行count计数统计,并更新当前这张表的计数字段
- A电机不转 米兔机器人_米兔积木机器人改装智能车库(上)|搭建步骤
- 【密码学原理与实践】(四)维吉尼亚密码 符java代码实现
- sql server 查询
- java数据脱敏处理,手机号,身份证号和银行卡号打码展示
- resteasy学习