helloccav
V2EX  ›  Android

请问安卓 7.0 是否修复了安卓 6.0 里面的“不给权限就不运行”的“bug”?

  •  
  •   helloccav · Dec 9, 2016 · 26108 views
    This topic created in 3626 days ago, the information mentioned may be changed or developed.

    手上没有 7.0 的机子,希望有 7.0 机子的朋友解答一下。

    64 replies  •  2016-12-18 03:03:27 +08:00
    loshine1992
    loshine1992
    Dec 9, 2016❤️7
    1
    这不是系统决定的,一个需要显示地图和位置的界面,进去了之后向用户请求定位权限,用户选择了拒绝。

    普通应用会显示地图不显示定位
    文艺应用会弹窗告诉用户你拒绝了权限所以我们没办法定位,要不要再打开
    二逼应用直接退出
    fatedier
    fatedier
    Dec 9, 2016
    2
    @loshine1992 阿里云的 APP 属于二逼应用。。。
    mokeyjay
    mokeyjay
    Dec 9, 2016 via Android
    3
    @loshine1992 可惜国内大部分都是二逼
    soland
    soland
    Dec 9, 2016❤️1
    4
    这明显是程序自己设计的
    “不给权限就不运行”的“ function ”
    helloccav
    helloccav
    OP
    Dec 9, 2016
    5
    @loshine1992 这不是系统问题,这是程序自己的问题,所以我才在 bug 上加了双引号。
    dtfm
    dtfm
    Dec 9, 2016❤️1
    6
    刚刚用了楼上例子试验了一下,系统: Android 7.1 应用:百度地图

    第一次登入:应用提示需要定位权限及存储权限 ---均点击拒绝
    拒绝后系统提示:应用至少需要存储权限 ---点击拒绝
    程序退出

    第二次登入:应用提示需要定位权限及存储权限 ---均点击拒绝
    拒绝后系统提示:应用至少需要存储权限 ---点击允许
    程序正常运行
    点击定位,提示定位失败
    手动给予定位权限后,可恢复
    NVDA
    NVDA
    Dec 9, 2016 via iPad
    7
    微信也是二逼应用
    微博每次打开都会跳窗口让我开权限
    inoris
    inoris
    Dec 9, 2016❤️1
    8
    @helloccav 既然你也知道了是程序自己的问题,那么就算更新到 Android 10.0 都解决不了。缺少了一个集中的市场来监管,开发者自然就会为所欲为。
    kokutou
    kokutou
    Dec 9, 2016
    9
    7.x 有部分应用会在通知栏有常驻通知。。。要等软件更新。。。
    helloccav
    helloccav
    OP
    Dec 9, 2016
    10
    @inoris 为什么安卓 5 可以解决而安卓 6 、 7 解决不了呢?这算是倒退吧。
    honeycomb
    honeycomb
    Dec 9, 2016 via Android
    11
    @helloccav

    显然 Google 不会打算改变这个机制也不会在 play store 进行强有力的压制。

    好在我们有 appops 这个可以直接使用的机制。

    好在我们有 xposed
    iCyMind
    iCyMind
    Dec 9, 2016 via Android
    12
    所以只能用 xprivacy
    honeycomb
    honeycomb
    Dec 9, 2016 via Android
    13
    @helloccav Android5 连权限机制都没有,哪来“可以解决”?

    如果你说的是 appops 的话, appops 在 6.0 比 5.x 更强, 7.x 的 appops 又比 6.0 的强。

    @kokutou 那个必须显示常驻通知是前台服务设计所然,问题出在那些应用滥用了早期版本 Android 的前台服务有 bug ,可以被绕过。
    honeycomb
    honeycomb
    Dec 9, 2016 via Android❤️4
    14
    这里绝大多数人都没注意到一件事:

    语言设置成中文语言的微信会强迫你给位置权限。
    设置成英文,且系统语言也是英文时,微信不会这么做
    honeycomb
    honeycomb
    Dec 9, 2016 via Android
    15
    @iCyMind appops

    @dtfm 百度这样的做法至少是不坏的
    dtfm
    dtfm
    Dec 9, 2016❤️1
    16
    @honeycomb 这个很正常嘛,中文用户是已经圈好的地盘,英文用户是待扩展用户,自然应该讨好,从表现看微信的吃相已经算是非常优雅。
    honeycomb
    honeycomb
    Dec 9, 2016❤️1
    17
    @dtfm
    这样的吃相也是不可以的
    inoris
    inoris
    Dec 9, 2016
    18
    @helloccav 「为什么安卓 5 可以解决而安卓 6 、 7 解决不了呢?这算是倒退吧。」

    因为是 Android 6.0 引入的运行时权限才带来的问题。新功能的出发点是对用户更友好、更透明,然而被不要脸的人滥用了。
    schezukNewTos
    schezukNewTos
    Dec 9, 2016❤️1
    19
    没用,应用总是可以在刚启动的时候,检测一遍权限是否全部开启。
    系统必须能够提供沙盒功能来欺骗应用,使之以为真的获得到了想要的数据。
    cunkouwdy007
    cunkouwdy007
    Dec 9, 2016 via Android
    20
    有些应用你点接受就是无限文艺,拒绝就二逼了。

    靠开发公司自我约束是不太能根本解决的,靠谷歌市场可以稍微规范下。但是国内应用主要下载渠道又不是谷歌市场,所以就只能靠自己解决了
    Guaidaodl
    Guaidaodl
    Dec 9, 2016
    21
    说到底这个其实是市场的功能,让审核人员去判断获得的权限是否合理。不过国内的市场,什么时候 Google Play 达到 App Store 的地位就可以了。
    1315553854
    1315553854
    Dec 9, 2016
    22
    没修复
    ctsed
    ctsed
    Dec 9, 2016 via iPhone
    23
    @dtfm hh 优雅
    Anhedonia
    Anhedonia
    Dec 9, 2016
    24
    很好奇 有没有人来提华为
    kingcos
    kingcos
    Dec 9, 2016
    25
    好烦这些软件啊,一上来就要定位,要电话,要联系人。。。
    还是祈祷苹果不💊。。
    hebeiround
    hebeiround
    Dec 9, 2016 via iPhone
    26
    好烦这些用户啊,一上来先想方设法屏蔽你的各种权限,地图应用不让定位、文件管理不让写入
    还是祈祷苹果不💊
    NVDA
    NVDA
    Dec 9, 2016 via iPhone
    27
    @Guaidaodl 没啥意义 我在 Google Play 上下的微信一样不给权限就闪退
    505243267
    505243267
    Dec 9, 2016 via iPad
    28
    @honeycomb 我注意到了!但是不给定位权限主页的搜索都不让用, iOS 下都可以。
    hysw2009
    hysw2009
    Dec 10, 2016 via Android
    29
    几乎所有软件都要通话权限,我知道你想检测是不是在用流量,但还是非常恶心
    flyfishcn
    flyfishcn
    Dec 10, 2016
    30
    @hysw2009 那做个合理推测,如果不做检测,软件直接在线加载各种高清资源图,更新数据等。用户是不是又要说, XX 软件偷跑流量?
    Tink
    Tink
    Dec 10, 2016 via iPhone
    31
    @helloccav 安卓 5 可以解决??
    ltux
    ltux
    Dec 10, 2016 via Android
    32
    这个说到底是谷歌的锅,跟什么没有统一应用市场没什么关系。谷歌就不该开放接口让应用检测是否获取了权限。应该在用户拒绝授予权限而应用又请求相应权限的情况下,返回随机虚假数据,而不是通知应用你没有这个权限。
    ltux
    ltux
    Dec 10, 2016 via Android
    33
    @Tink 所谓安卓 5 可以解决,是指:安卓 5 还没有放出““检测是否被授予权限”这个接口,但是用户又能通过某些应用开启系统隐藏的权限控制。应用没法检测是否获取到权限,也就不会出现不给权限就退出这样耍流氓的情况了。
    RqPS6rhmP3Nyn3Tm
    RqPS6rhmP3Nyn3Tm
    Dec 10, 2016
    34
    被拒绝之后系统应该给假数据,但是这样以来又会出更多的问题,比如用假数据的 hash 加密就没人解得开了
    给空数据太容易被识破
    所以,还是要督促阿里巴巴提升支付宝 iOS 端的使用体验,跟上 Android 的步伐,不给权限就闪退
    ranleng
    ranleng
    Dec 10, 2016 via Android
    35
    @honeycomb 然而每次开启后微信还是会要你权限 只不过不退出了
    lrh3321
    lrh3321
    Dec 10, 2016
    36
    @loshine1992
    像 QQ 阅读 这种,不给录音权限居然就自己退出了,我实在想不懂一个阅读器,强制要要录音是想搞什么飞机
    Hardrain
    Hardrain
    Dec 10, 2016
    37
    LZ 的意思是 Android 7.0 是否像 Android 6.x 一样,应用程序能够知晓自己请求的权限被拒绝授予?
    hysw2009
    hysw2009
    Dec 10, 2016 via Android
    38
    @flyfishcn 不知可不可以用 WiFi 权限来检测 WiFi 是否开启?如果不能的话,就是谷歌的错了
    bertonzh
    bertonzh
    Dec 10, 2016
    39
    除非有工具可以提供虚拟权限,或者 Google Play 统一天下
    GhostFlying
    GhostFlying
    Dec 10, 2016 via Android
    40
    其实 iOS 上我也碰到过某国产应用不给联系人就不给继续的
    hold2
    hold2
    Dec 10, 2016 via Android
    41
    @bertonzh Google play 上的软件一样流氓,微信微博不给权限一样不给用
    bqbkbz
    bqbkbz
    Dec 10, 2016
    42
    @hysw2009 错了,通话权限并不是用来检测流量的,是用来获取 imei 来进行数据统计的
    lech
    lech
    Dec 10, 2016
    43
    @honeycomb 但是每次打开都会询问
    learnshare
    learnshare
    Dec 10, 2016
    44
    不运行是应用自己决定的,不是系统决定的
    8e47e42
    8e47e42
    Dec 10, 2016
    45
    这种 app 就应该直接下架,然后搞个大新闻
    Quaintjade
    Quaintjade
    Dec 10, 2016 via Android
    46
    @loshine1992
    其实不给定位权限也能用 wifi 或基站大致定位,只要有查看网络连接 /查看 WLAN 连接和完全的网络访问权限即可,而这两个权限不 root 是关不掉的。
    didikee
    didikee
    Dec 10, 2016 via Android
    47
    这不是 bug ,谢谢
    honeycomb
    honeycomb
    Dec 10, 2016 via Android
    48
    @hebeiround 为何要转移话题?
    显然这里的话题值得是应用迫使用户提供非必要的权限你是无视的对吧。

    @hysw2009
    要通话权限的目的几乎一定是拿 IMEI 。
    @flyfishcn 获取使用哪种网络与电话权限无关

    @ltux 是的, iOS 里应用虽然同样能检查权限是否获得,但有 app store 压着没关系。

    @BXIA 你想到的几乎不可能实现, Google play 自己都不想做这种监管,何况被屏蔽了
    honeycomb
    honeycomb
    Dec 10, 2016 via Android
    49
    @hysw2009 自己看文档,检查当前使用什么流量的 API 是怎么设计的。
    @bertonzh 我们的 appops , island , xprivacy 部分或间接地提供了这些能力。
    @GhostFlying iOS 上这样的应用相对少到几乎不存在
    @hold2 play store 没有管不给权限就不给用的事情是重大错误,而且开发者协议对这一点明确表示放任。
    @lech 但是没有强迫实行,就是区别。
    @8e47e42 就是
    @Quaintjade 不给定位权限是无法使用 WiFi/基站信息的,拥有查看网络连接 /WLAN 等权限是没有用的。这件事在 iOS 上也是如此。

    只是这样的设计有一个漏洞,应用总是可以获得当前连接的 WiFi 的 bssid 与 SSID ,而这两个数据只要一份就已经是很强的定位数据了。
    Quaintjade
    Quaintjade
    Dec 10, 2016 via Android
    50
    @honeycomb
    我就是这个意思。关了定位权限只是无法用系统接口进行定位,但仍能用第三方定位服务,只要把当前周围 wifi ssid 、强度信息发给第三方服务器即可。

    查看 WLAN 信息不仅能获得当前连接的 Wifi 信息,而且还能获得周围存在的 wifi 信息( ssid,bssid,强度),鉴于城市里到处有 ChinaNet 信号,这个定位应该很准。

    刚试了下网络连接信息 App ,关闭位置权限时似乎无法获取当前基站 CID 和 LAC 。
    RqPS6rhmP3Nyn3Tm
    RqPS6rhmP3Nyn3Tm
    Dec 10, 2016 via iPhone
    51
    @honeycomb 所以还得督促阿里巴巴提升 iOS 端支付宝使用体验。借刀杀人嘛
    BROWNURSIDAE
    BROWNURSIDAE
    Dec 11, 2016 via Android
    52
    @honeycomb 话说有人做了 appops 7.0 以上有 gui 的软件了
    https://play.google.com/store/apps/details?id=rikka.appops
    honeycomb
    honeycomb
    Dec 11, 2016 via Android
    53
    @Quaintjade 你错啦,关闭定位权限时拿不到周围(未连接的) WiFi 信息的,但可惜的是即便在 iOS 上也能拿到当前连着的那个热点的 bssid/SSID ,这才是真正的麻烦
    honeycomb
    honeycomb
    Dec 11, 2016 via Android
    54
    @BROWNURSIDAE 是的,相当好的软件
    nn574204775
    nn574204775
    Dec 11, 2016 via Android
    55
    @honeycomb 要是加广告会不会被打死(
    Quaintjade
    Quaintjade
    Dec 11, 2016
    56
    @honeycomb
    那么为什么像这种 wifi 分析 app 即便没有定位权限,也能查看周围未连接的 wifi 信息呢?
    https://play.google.com/store/apps/details?id=com.farproc.wifi.analyzer

    我用的是 6.0.1 ,不知道是不是 7.0 的权限有所不同?
    honeycomb
    honeycomb
    Dec 11, 2016
    57
    @Quaintjade
    看上去我打脸了
    honeycomb
    honeycomb
    Dec 11, 2016❤️1
    58
    @Quaintjade 我做了下测试:

    1 ,这个应用没有要位置权限,确实可以拿到周围未连接的 wifi 信息
    2 ,在 AppOps 里 igonre 掉这个应用任何和一个和位置有关的 OP(其实只有 WIFI_SCAN 可选),它就拿不到周围未连接的 wifi 信息了

    而会出现 1 的原因,我认为它是用了 target SDK 低于 API23 的设置编译的,你可以尝试一下用 targetSDK 大于等于 23 的情况下,不给定位权限,还能不能调用 WIFI_SCAN 这个 OP 对应的 API
    abc123ccc
    abc123ccc
    Dec 12, 2016
    59
    不给权限就不运行,在苹果手机上也有类似的软件。都是监督不严造成的。我要是监督,这类的软件一律下架。恶心人呐。
    abc123ccc
    abc123ccc
    Dec 12, 2016
    60
    话说,怎样投诉某个苹果 APP 呀???
    allenhu
    allenhu
    Dec 12, 2016 via Android
    61
    不给权限不运行,那就卸载吧
    ij666
    ij666
    Dec 13, 2016
    62
    it's feature
    814084764
    814084764
    Dec 16, 2016
    63
    记得在 6.0 之前,有人就说:安卓怎么没有权限管理啊!烂 APP 什么权限都要,不能限制一下吗。。
    现在有了权限管理,又被说:什么啊!不给权限就闪退。。

    其实都是 APP 的错。国内的流氓软件!擦!
    loveminds
    loveminds
    Dec 18, 2016
    64
    应该加上虚拟沙盒
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2159 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 117ms · UTC 13:14 · PVG 21:14 · LAX 05:14 · JFK 08:14
    ♥ Do have faith in what you're doing.