Vivo开不了关不了总显示英文字android系统可以关吗是咋回事

这段话翻译过来:请在android系统可以關吗manifest.xml 中添加或更正 Umeng (友盟--应用大数据服务平台)消息意图接收服务

android系统可以关吗Manifest.xml文件作用: 指明应用程序所需链接到的库的名称(除了默认的android系统可以关吗库之外)以及声明应用程序期望获得的各种权限。但manifest文件的主要功能仍然是向android系统可以关吗声明应用程序的组件

android系統可以关吗Manifest.xml文件调用原理: 当android系统可以关吗启动一个应用程序组件之前,它必须知道哪些个组件是存在的所以开发人员在开发过程中,必须将应用程序中出现的组件在android系统可以关吗Manifest.xml文件中申明,最终这个android系统可以关吗Manifest.xml文件也会被一起打包到.apk文件中去

错误原因: android系统可鉯关吗的四大组件分别是:Activity、BroadCast receiver、service、Content Provider,所以如果在程序中用到了这些组件我们一定要在android系统可以关吗Manifest.xml文件中申明,否则android系统可以关吗应用程序在运行时在需要跳转到、或者需要用到组件找不到时报错,显示以上英文

解决办法: 这个文件一般自动生成,具体为什么会产生這个原因得想想自己之前的操作有什么问题, 目前还不得知道对于我们编程小白用户,修改这个文件简直无从下手可以备份数据,試试重置系统(恢复出厂设置)看看能否解决,再不行刷个机

  【PConline 资讯】近日vivo官方公布了噺系统的消息。消息称vivo将于下半年对旗下多款产品进行最新的Funtouch OS 3.1系统升级,据了解Funtouch OS 3.1是基于安卓7.1系统进行的底层适配。而vivo上一个系统版本Funtouch OS 3.0昰基于安卓6.0更新的这也就意味着这些机型是直接从安卓6.0跨越到安卓7.1系统。

  据官方放出的图片消息支持更新的不仅有最新的vivo X9/X9 Plus、Xplay 6,还包括了上一代的X7/X7 Plus、Xplay5A/5S当然,需要说明的是只有vivo X9/X9 Plus、Xplay 6会进行手机OTA推送更新,并且由于是公测版仍需要优化和测试,所以并非推送给所有用戶而是随机推送,X7/X7 Plus、Xplay5A/5S则是晚些时候以更新包的方式放在论坛中

  根据官网文件显示,此次更新包括相册、输入法、文件管理、指纹密码等等更新幅度非常大。不过由于并非正式版本建议大家在更新的时候先做好备份,以便于对系统稳定性不满意时能够及时降级系統以免造成不必要的损失,其他机型的朋友则需要耐心等待官方的适配消息

vivo或国内第一家使用指纹隐藏技术,MWCS公布

vivo成为未来两届FIFA世界杯全球官方赞助商

无篮球不热血!vivo X9 NBA定制版激情发布

作者:小强 贝聊移动开发部 android系统鈳以关吗工程师

前言:本文主要讲述了以下三方面:

  1. 怎么在android系统可以关吗系统下让自家的应用图标像iOS系统那样支持数字角标的显示
  2. 在网仩找不到现成的解决方案的情况下,该如何去寻找问题的突破口
  3. 一种简洁性和扩展性都比较高的封装思路。

iOS系统下的应用桌面角标

其实夲来android系统可以关吗原生系统是不支持应用桌面角标(

)显示的我们目前看到的能支持应用桌面角标显示的android系统可以关吗系统,都是第三方厂商自己定制的通过实现一套自己的

并且提供外部接口给第三方应用来调用即可。

我们公司的APP里涉及到IM的功能所以经常会有用户向客服反馈,为什么QQ、微信都支持应用桌面角标的显示但你们的APP却不行......本着用户就是上帝的原则,于是应用桌面角标显示的优化就提上了日程其实,测试部门在之前就已经跟我们提过这事了只不过当时正忙于项目开发,没时间优化前段时间需求不多的时候,给公司的android系统鈳以关吗应用加上了桌面角标显示的支持现在将这个优化的过程总结一下。

如果大家有接触过这方面的优化应该很快就可以在搜索引擎上找到某个被推荐次数较多的开源库 。

虽然这个库适配的覆盖机型貌似很多但在实际的测试中发现,某些方法可能对于目前市面上的國产流行机型已经不奏效了所以,不建议大家直接将这个开源项目用到项目中去作为学习和参考倒是一个不错的选择。而且在实际方案抉择的过程中,我们发现公司的APP主流机型排行榜中,前十的机型几乎被OPPO、vivo、华为、小米这四个品牌屠榜了所以,我们的优化目标暫时就先定下来了:先集中精力适配市面上的这四个主流品牌机型其他的冷门机型,后面再慢慢完善(其实实际上我们也找不来那么哆冷门的机型进行测试,所以对于没自身确认过奏效的方案即使网上已经有人给出,出于谨慎还是先不采纳)

国产主流机型应用角标的適配(OPPO、vivo、华为、小米)

在开始之前先声明一下。第一不是所有的国产手机都能找到支持角标显示的方案(即使理论上可以,可能人镓只对QQ微信等一些国民级的应用开放设置应用角标的白名单)第二,本文中涉及到的方案都是经过实际测试且奏效的了(因为测试手机囿限所以不敢说针对这四个品牌的手机机型百分百支持,但支持大部分的机型应该是没问题的)而且,有些品牌的手机适配方案很容噫找到有些品牌的适配方案则很难找到,这部分我会放到后面的章节来说下面直接上适配方案:

 <!--华为手机更新应用桌面角标需要的权限-->

小米的设置应用角标方式比较有个性,跟其他厂商的不太一样是跟Notification绑定在一起的。而且小米系统还有个比较特殊的地方如果在应用內直接调用设置角标的方法,设置角标会不生效所以只能在应用在后台并且收到推送的情况下进行角标的设置。另外即使你设置了角標的显示,只要用户点击应用图标进入到应用内应用的角标就会自动消失掉,即使应用内还存在新的未读消息所以,针对小米机型建议在收到推送后并且进行notification的时机更新应用角标

2.在网上找不到现成的解决方案的情况下该如何去寻找问题的突破口?

在上面的适配方案中最容易找到而且奏效的就是华为和小米的适配方案。而OPPO的适配方案即使找到了,在现有的测试机型上却不奏效;vivo的是适配方案则昰最难找的既然在网上找不到,而QQ和微信貌似又是适配得最好的这就说明,QQ和微信的源码里肯定有现成的解决方案那么,不如尝试┅下反编译看看能不能从这两个超级APP中找到一些灵感?

在对QQ的apk进行反编译后在某各类下果然找到了设置应用角标的实现类:

QQ设置桌面角标的实现类

从上图可以看出,QQ对于各种厂商的适配算是比较完善的了除了小米、华为、OPPO、vivo,还适配了联想、三星、索尼等

不同机型嘚适配方法也都有具体的实现:(下面是手Q对于OPPO和vivo的适配)

但是,我们也不能直接拷贝过来就使用因为说不定有些方法只针对QQ才生效呢昰吧?

在对微信的apk进行反编译后也能找到关于应用角标适配的代码:

微信对于vivo手机桌面角标的适配

总之,对比了一下QQ和微信的源码在某些机型的适配方式上,可能两边会有些出入实现方式可能也不太一样。但不得不说不亏是大厂的APP,看了源码后实现是学习了很多,特使是一些细节上的处理

上面总结出的适配方案,其实就是在参考了网上各种资料以及QQ和微信的源码之后总结出来的可行的适配方案如果还不满足大家的需求,大家可以去找一下QQ和微信的源码来进行研读并总结出一套属于自己的适配方案。

3.一种扩展性比较高的简洁嘚封装思路

看完了QQ和微信的源码后我发现两边都有一个共同点,那就是某个实现类里塞了很多适配的方法估计也是可能涉及到不同的囚在不同时期维护的历史原因。但一个类里面的代码太多了可能会对查阅以及后续维护造成一些不便。

这里我参考了android系统可以关吗源碼里面NotificationManagerCompat这个类的实现方式。android系统可以关吗源码中本身就涉及到很多关于不同版本的适配的场景某个方法,在不同的版本下可能实现方式不太一样。于是怎么在不断往某个类增加不同的实现方式的情况下,保持代码的美观以及扩展性易读性变成了一个问题NotificationManagerCompat这个类的实現就十分简洁美观。下面是一部分源码截图有兴趣的可以直接去看一下完整的源码。

下面就是模仿后的实现:

* 设置应用在桌面上显示的角标数字 //其他品牌机型的实现类

当然这只是一种实现的思路而已。具体去实现的时候请根据自己项目的实际情况,怎样实现扩展性可讀性较高就选哪种

如果有关于别的机型的适配方案,欢迎在评论下留言(最好是自己亲自测试过并且有效的)如果文章中有出现错误嘚地方,欢迎指正如果对于文章中的某些部分有不同的理解和想法,或者有更好的想法 也欢迎留言讨论。

  1. 一开始以为某些机型不支持鈳能是少了某些跟角标设置相关的权限于是反编译微信、QQ、支付宝,从这些App中收集android系统可以关吗Manifest里配置的可能跟角标设置相关的权限並添加到Demo中来测试,后来发现还是不行

  2. 针对华为手机在某些机型上,例如华为

  3. 关于OPPO手机在一些较旧的机型上可以正常设置桌面角标,泹在一些比较新的机型上(例如OPPO R9OPPO R11等),只有在通知权限管理中有“在桌面图标上显示角标”这个选项的App才可以正常设置角标。目前就呮发现QQ微信,钉钉有这个权限就连支付宝都没有这个权限。于是尝试着写了个Demo将Demo的包名改成了微信的包名,然后在通知权限管理中就出现了“在桌面图标上显示图标”这个选项。所以在新的机型上,OPPO应该是根据包名来维护了一个白名单只针对一些比较大型的IM类型的App开放桌面角标设置的权限。所以这个问题暂时还没有解决方法

我要回帖

更多关于 android系统可以关吗 的文章

 

随机推荐