相关疑难解决方法(0)

Android - 将targetSdkVersion设置为22以避免运行时权限,有哪些潜在问题?

有人可以总结将targetSdkVersion设置为22以避免处理运行时权限的缺点吗?

在阅读了Google文档以及其他一些Stack Overflow帖子之后,我发现的唯一不足之处是用户可以在安装时授予权限,然后进入他们的操作系统设置并撤销该特定应用的特定权限,然后再次运行应用程序.然而,从一些例子中我发现在代码中处理这并不困难.

这是否是使用targetSdkVersion 22在安装时强制权限的唯一缺点?这些事情会在未来几年保持这种状态吗?

另外,例如,如果我在build.gradle文件中使用这些设置:

compileSdkVersion 24
buildToolsVersion "24.0.1"
minSdkVersion 19
targetSdkVersion 22
Run Code Online (Sandbox Code Playgroud)

我仍然可以在应用程序中访问API 23和24功能,还是仅限于22及更早版本?

在有人回答"最佳做法是不按照谷歌推荐的方式在运行时根据需要执行此操作"时,是的,我当然知道这一点.是的,我也知道有些例子试图提供锅炉板代码以询问运行时权限,例如:

https://github.com/googlesamples/easypermissions

但是至少有两种情况我可以想到在安装时请求权限并且如果未授予权限则不安装应用程序是非常有利的:

1)假设我报告的那个人在工作周的一半时间问:"你可以把星期五会议的概念验证Android应用程序放在一起,这个会议会让XYZ显示我们当天有一些访问者吗?" 如果我必须拼凑一个快速的alpha版本的应用程序,我只有几天时间来完成它,并且将基本功能放在一起需要很长时间,而应用程序将需要4​​个权限,它会要在安装时为alpha版本要求所有权限要好得多,所以我有时间花在应用程序功能上.然后,如果我继续前进,当我将应用程序移至测试版然后再移至最终版时,根据需要在运行时逐个更改权限请求.

2)某些应用程序绝对需要某些权限才能使用.例如,如果我正在编写一个OpenCV应用程序,该应用程序从相机中获取图像,然后根据图像中的内容执行某些操作,那么最好不要在用户开始时安装此类应用程序.不愿意授予相机许可.

我真的希望Google在安装时作为选项请求/要求权限,并提供在运行时请求权限的选项.是否有任何负面的开发人员反馈,只能决定是否可以在运行时请求权限?谷歌是否可能在安装时或未来版本的运行时允许许可请求,在这种情况下,我可以在过渡期间简单地使用targetSdkVersion 22选项?

permissions android

9
推荐指数
1
解决办法
4833
查看次数

标签 统计

android ×1

permissions ×1