V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
estk
V2EX  ›  Android

读取手机是否安装某个应用,不需要权限吧?

  •  
  •   estk · 326 天前 · 4216 次点击
    这是一个创建于 326 天前的主题,其中的信息可能已经有所发展或是发生改变。

    本人非安卓开发,印象中,好像有个方法,类似于 canOpenUrl("weixin://") 就可以判断你是否装了微信,换个 scheme 就可以判断其它 App

    jiuhuicinv
        1
    jiuhuicinv  
       326 天前
    IOS 也有类似调用方法
    estk
        2
    estk  
    OP
       326 天前
    @jiuhuicinv #1
    所以装了官方 App ,它想知道你有没有装电报,iOS 也跑不掉?
    codehz
        3
    codehz  
       326 天前
    用不着这么麻烦,直接用 QUERY_ALL_PACKAGES 的权限就能获得完整列表
    estk
        4
    estk  
    OP
       326 天前
    @codehz #3
    这个权限可以在 setting 里用户手动关闭吧,不够强制
    jiuhuicinv
        5
    jiuhuicinv  
       326 天前
    @estk 我只是说 IOS 有 scheme 这种功能 至于能不能用于检测装了什么软件就不得而知了
    bao3
        6
    bao3  
       326 天前
    可以,用 URL scheme 是合法的,只是会不会涉及隐私,这个……
    starlin
        7
    starlin  
       325 天前
    第一次听说,安装非法应用导致封手机号的
    AoEiuV020JP
        8
    AoEiuV020JP  
       325 天前
    讲道理仅仅是安装,并不能做为违规违法的证据,
    尤其检测只是 scheme 或者包名,甚至不知道检测到的是不是只是其他碰巧同名的 app ,
    啥也没干的情况就惩罚,放哪里都说不通,
    DosLee
        9
    DosLee  
       325 天前
    这操作真是 6 ,看完直接去应用管理里删除数据并卸载了运营商软件
    estk
        10
    estk  
    OP
       325 天前
    @AoEiuV020JP #8
    确实啊,我们 ZF 是个讲道理的 ZF ,不会乱来的
    ysc3839
        11
    ysc3839  
       325 天前 via Android   ❤️ 2
    @codehz @estk AOSP 没有“读取应用列表”权限的开关,应用请求了就能使用。
    而且就算用的是国产系统,拒绝了“读取应用列表”权限,或者用其他 Xposed 等工具禁止读取应用列表,仍然可以通过读取 /data/data/包名 的方式来探测某个应用是否安装,如果应用有安装,会返回 Permission denied ,否则会返回 No such file or directory
    shinession
        12
    shinession  
       325 天前
    买了国产手机, 出国后就不能用了?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   937 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 23:25 · PVG 07:25 · LAX 16:25 · JFK 19:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.