栏消息无法拉起应用问题分析.docx_第1页
栏消息无法拉起应用问题分析.docx_第2页
栏消息无法拉起应用问题分析.docx_第3页
栏消息无法拉起应用问题分析.docx_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

通知栏消息无法拉起应用问题分析统一通知平台-陈建波现象描述:在和平安证券联调过程中,发现了这个现象,当应用在前台按back键后,应用自杀,通知栏的推送信息还在,这个时候点击推送通知,应用无法被拉起问题机型:Android5.0所有手机部分Android4.4机型:小米4以及魅族MX4解决过程:1、 1.1、测试平安证券在5.0系统手机运行情况,平安证券在前台运行时候,进程运行情况如下按back键后,进程运行情况如下:也就是说平安证券在按back键的时候应用主进程自杀,但是不杀死push进程1.2、点击通知栏消息的动作,相当于通过push进程拉起应用主进程,在Android4.0(除部分深度定制机型:小米4和MX4)以及Android6.0系统可以正常拉起,说明Android5.0做了特殊处理我们来看下Android4.4系统拉起应用LocalService过程:Android5.0系统拉起应用的动作和Android4.4相同,但是start LocalService并没有成功启动:因此得出结论:Android5.0系统对同应用跨进程之间的startservice做了限制,如果没有在清单文件Androidmanifest.xml中声明服务,会阻止这种启动方式,从而阻止主进程的拉起1.3、解决方案:在清单文件Androidmanifest.xml中声明service测试结果:Android5.0终端可以通过通知栏正常拉起应用遗留问题:小米4,魅族MX4,Letv X501依然不能正常拉起2、 遗留问题解决2.1、测试魅族MX4:前提:添加到清单文件中抓取log发现:结论:魅族MX4在系统中对启动service做了更大的限制即使在清单文件中声明了service,如果应用主进程已经被killed,跨进程之间依然不能通过startservice拉起应用主进程,并且小米4,魅族MX4,Letv X501为了防止应用的唤醒过于频繁对广播接收权限也做了深度限制一个新方案:把广播接收器放到push进程,然后通过context.startActivity(launchIntent)就可以启动应用主进程 2.2、解决方案:将PushServiceReceiver广播接收器放到push进程中 测试结果:小米4,魅族MX4,Letv X501可以通过点击通知栏正常拉起应用遗留问题:PushServiceReceiver原来跑在主进程,现在跑在push进程,静态变量无法共享到主进程中,从而导致了两个问题:(1)消息的下发失败(2)调试log无法打开3、 遗留问题解决3.1、解决方案:只将点击通知栏消息广播的接收器放在push进程,其他的广播依然放在主进程新建一个点击广播接收器类:PushNotificationClickReceiver.class并将该接收器声明在push进程中: 测试结果:小米4,魅族MX4,Letv X501可以通过点击通知栏正常拉起应用遗留问题:无至此:通知栏消息无法拉起应用问题得到彻底解决4、全文总结:4.1、Android5.0系统对同应用跨进程startservice做了权限控制,必须在清单文件中声明4.2、部分深度定制的Android系统对同应用跨进程的startservice做了更大限制,即使在清单文件中声明了也无法启动4.3、context.startAc

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论