权限只要将 targetsdkversion 设置为 22 就能在你安装的时候统统都接受。只有 23 以上才会弹窗请求。 就是是这样,大厂的 APP, 拒绝了后直接不给你用!
我对这个权限管理???????
1
orangeade 2018-03-22 15:22:02 +08:00 via Android
今年底 Play 商店所有应用 target sdk 必须大于等于 8.0 的,
墙国?自生自灭吧 |
2
orangeade 2018-03-22 15:22:41 +08:00 via Android 1
在运行时请求权限
- 危险权限只可以在运行时被授予。应用的 UI 流必须提供相应可供性向用户请求这些权限; - 但凡可能,您的应用要准备好应对权限请求被拒的情况。譬如说,如果某个用户拒绝您的应用访问设备 GPS,应用须通过其它方法继续运行 满足 Google Play 目标 API 等级 (targetSdkLevel) 的要求 https://mp.weixin.qq.com/s/YY7bulNGdIv9sNRjpPH7ZA |
4
marcong95 2018-03-22 15:33:31 +08:00
“拒绝了后直接不给你用”这个锅 Android 表示不背,申请权限 app 肯定要收到同意或者拒绝的返回,以便后续运行。iOS 可以通过 AppStore 上架审核。总不能系统自带 XPrivacy 吧。
|
5
orangeade 2018-03-22 15:35:28 +08:00 via Android
@marcong95 Android 从 4.3 开始有一套隐藏的权限,appops,应用无感知的,Play 商店搜 AppOps 就能开启
|
6
iwtbauh 2018-03-22 15:49:15 +08:00 via Android
调低 targetsdkversion 也可以手动在设置里禁用权限,只不过禁用时会告诉你“应用为旧版 Android 设计,禁用权限可能使应用无法正常工作”
说白了就是为兼容性设计的 另外 appops 了解一下 |
7
honeycomb 2018-03-22 15:58:17 +08:00
@orangeade
AppOps 大部分的责任是充当 运行时权限机制 对付低 targetSDK 的应用 另一部分责任是对付所有用户可以改动的非运行时权限,且也不是 normal 权限的部分 @Jimjay 问题是在这两个方面: Google 的责任: 1 运行时权限机制 设计成允许应用检测到的结果决定自身是否运行,但没有提供任何救济措施。 苹果的 app store 的上架审核能保证不会出现如此情况。 2 Android 暴露了一些不应该暴露的接口,比如我们最常诟病的手机权限涉及的 getDeviceId(),用以获取 IMEI。 在 iOS 上,这些永久识别码根本就是没有的。 应用开发者的责任: 它们区别对待了两个平台,既然在 iOS 端不能拿到永久识别码,在 Android 连尝试去拿也不可以(有些人不要拿“监管要求”来做挡箭牌)。 好在至少还有显式调用 AppOps 的办法,目前尚可以用来解决不给权限不运行的问题 |
8
yidinghe 2018-03-22 16:01:05 +08:00
大厂在安卓系统里面不像在 ios 那样有另一个大厂来限制,可以为所欲为
|
9
KevinChan 2018-03-22 16:06:06 +08:00
国内的 app 会告诉你打开权限,否则我就不运行
|
10
KevinChan 2018-03-22 16:06:40 +08:00
用安卓真的费心费力费时,浪费生命
|
11
aksoft 2018-03-22 16:53:24 +08:00
都一样,要么全开放,要么给一家
|
12
YumeMichi 2018-03-26 17:58:02 +08:00
安卓 P 开始好像不能随便这么乱改 targetSDK 了
|