android引导用户打开位置权限_想升级 App?先要个权限吧!!!

点击上方的终端研发部,右上角选择“设为星标

每日早8点半,技术文章准时送上

公众号后台回复“学习”,获取作者独家秘制精品资料

a9de4be6064fe6b33c4989de2bf3097e.png

往期文章

记五月的一个Android面试经

今日头条屏幕适配方案落地研究

APK瘦身-是时候给App进行减负了

即学即用Android Jetpack - Navigation

手机商对“鸿蒙”进行了密集测试:比安卓系统快?

那些简历造假拿 Offer 的程序员,后来都怎么样了?

a9de4be6064fe6b33c4989de2bf3097e.png

来源:承香墨影

前言

手边有个 App 产品,targetSdkVersion 升级到 26 了,一段时间之后发现应用发布升级时,升级率比之前低了不少。排查后发现,很大的一部分原因在于,Android O 增加了对具体 App 是否允许安装 App 的开关检查。此开关默认为关闭状态,需要用户主动开启,允许你的 App 安装应用,否则你无权安装应用。当然我们的升级,也属于安装应用的范畴。

安装权限

什么是安装未知应用权限
起初其实不是很在意这个点,因为在触发安装的时候,系统会自动跳转到 App 设置页面,要求用户开启此权限。 5b41c49b46ed62855aaa7d6949c9f71a.gif这个在功能上,本身已经是自成闭环的,估计也是为了避免没有适配的 App,触发安装的时候直接崩溃了。如果细心观察过一些功能比较细腻的产品,你会发现其它们在安装前都是有一次引导的。类似 Android 6.0 中动态权限申请,一些打磨的很好的 App,会提前告诉用户,“我们因为 Xxx 原因,会使用到 x、y、z 权限,需要您的授权”等,这样一个比较友好的产品引导,让用户无抵触的去根据弹窗开启权限,而不是将授权框生硬的弹出来。增加一层引导,不仅仅是为了功能实现,而是为了追求更好的用户体验,同时也增加成功率。
安装未知应用
在 Android O 之前,设置中的安全选项里,是有一个 “Allow unknown sources” 的设置,其目的就是为了方便安装来自 Google Play 之外的 App。 8af40c61f0b81ec73ccab0d8fce6fe76.png而在 Android O 之后,此设置被完全拿掉了,替换方案就是针对 App,增加了一个“安装未知应用”的权限。 5227713edd5e9331c370f9c44aff48ae.png既然要做适配,我们就需要考虑到,能否拿到当前 App 是否开启此权限,以及如果没有开启,能否自动跳转到权限开关的页面。接下来我们具体看看适配的过程,其实很简单。

适配“安装位置应用”

1.  增加权限要使用此功能,首先要求 targetSdkVersion 为 26 或者更高,并且显示声明 REQUEST_INSTALL_PACKAGES 权限。
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
2.  判断是否开启权限在 PackageManager 中,新增了一个  canRequestPackageInstalls() 方法,它会返回一个 Boolean 值,直接表示当前是否具开启此权限。 3.  打开开启权限页面可以通过 **Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCESv 来启动一个 Activity,打开开启权限页面。
private fun startInstallSwitchPage(){
    val intent =Intent(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES) startActivityForResult(intent,602)
}
到这里该有的就都有了,剩下的就看如何在产品形态上包装一下,在安装前做一次检查,如果没有此权限,弹出一个精美的弹窗说明情况,引导用户去开启此权限后继续安装。
总结
产品体验是在功能实现的基础之上的,这就是为什么说有时候很多技术问题都是可以用产品方案来规避的。同样一个技术功能,通过不同的产品形态表现出来,可能就会得到不同的效果。本文对你有帮助吗? 留言、“好看”、转发是最大的支持,谢谢!

阅读更多

十面阿里,七面头条 在百人团队参与游戏研发体验 除了敲代码,你还有什么副业吗? flutter开发,Dart中的那些骚气语法! APK瘦身-是时候给App进行减负了 有前途的IT人,都会适当“偷懒”! 团队开发中 Git 最佳实践,不给队友拖后腿!
相信自己,没有做不到的,只有想不到的

在这里获得的不仅仅是技术!

3be860786dbdb1e9e91677815d867a88.png

9eafcd83122bcdf7d2cf84a17d182c42.gif

喜欢就给个“在看” 3cf9ff6be23ed333723ee539fd75cd48.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值