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

微信不停的在后台获取位置, 365 天,天天如此。

  •  1
     
  •   cmmulxuk · 310 天前 via Android · 5037 次点击
    这是一个创建于 310 天前的主题,其中的信息可能已经有所发展或是发生改变。

    认真想了下,微信获取位置这件事似乎无解。

    虽然几家手机厂商都开始对隐私保护加大力度,分分开始发力,但是似乎没办法完全解决啊,现在是大家都对后台敏感权限进行限制曝光。但是前台使用时完全没有任何限制的,随意使用摄像头,存储权限,录音权限。

    像微信这种使用频率高的 App,用户量多,话语权高,又极度流氓。是不是真的无解了。

    57 条回复    2021-03-23 17:51:45 +08:00
    ShinichiYao
        1
    ShinichiYao  
       310 天前
    直接不给定位权限不就结了,虽然它还是可以知道你大致位置在哪里
    cmmulxuk
        2
    cmmulxuk  
    OP
       310 天前 via Android
    @ShinichiYao 已经取消了,后台系统也是一直拒绝,但是每隔几分钟就获取一次,而且存储权限,录音权限没办法啊。
    cairnechen
        3
    cairnechen  
       310 天前
    不太明白你不给存储和录音权限,微信怎么正常运转?
    bluecrow
        4
    bluecrow  
       310 天前
    不知道开启虚拟定位能不能破
    shoaly
        5
    shoaly  
       310 天前
    需要系统 把定位接口拆出来, 给个假的 就行了
    shoaly
        6
    shoaly  
       310 天前
    但是我估计但凡那个手机厂家做了这种 针对的功能, 所有大的 app 都会 给这个手机安排莫名其妙的 bug 吧
    imn1
        7
    imn1  
       310 天前   ❤️ 1
    @cairnechen #3
    他的意思是存储能读取整个卡,他希望只能读取 /写入 wx 自己的目录
    录音是开 mic 讲话才用,而不是进 wx 就一直开着(这个实际上是信任与否的问题),例如我其中一个 wx 小号就完全不需要讲话,自然觉得录音权限也不需要给,但不能不给,摊手无奈
    sillydaddy
        8
    sillydaddy  
       310 天前
    @cmmulxuk
    你用的什么版本啊? 我把微信的位置权限给关掉了,也没碰到微信请求过位置权限啊。
    天哪!!刚明白你说的是后台啊,原来如此,果真如此。唉!真是 sb 臭流氓!!恶心到家了。
    djoiwhud
        9
    djoiwhud  
       310 天前 via Android
    这是 wxb 默许鼓励的。实时上报用户位置。
    flineqaq
        10
    flineqaq  
       310 天前 via iPhone
    找个安卓装微信插线锁机房里,然后用 adb 模拟操作加图像识别搞一套接口出来用,这样既不会被风控也能解决问题。

    就是偶尔晚会上看到别人在自己店里装摄像头也能被处罚,会感到他们很可怜╮( ̄▽ ̄"")╭
    sillydaddy
        11
    sillydaddy  
       310 天前
    目前的手机 gps 定位功能,耗电还是比较高的。几秒钟读一次的话,满电几个小时就耗完了。不过几分钟读一次,耗电就不明显了。

    之前发帖,提到“手机上的惯性传感器”,不需要显式权限就可以读取,而且耗电很低。( /t/760637 )
    不知道这些流氓公司会不会偷偷读取呢?
    BAT
        12
    BAT  
       310 天前 via iPhone   ❤️ 2
    @flineqaq #10 可怜?卖家不经过你的允许偷拍你的面部数据,这种老板可怜?我巴不得他早点死。
    zhangchioulin
        13
    zhangchioulin  
       310 天前
    这件事情最好的解决方案难道不是让微信通知走专用推送通道( GMS/APNs ),然后手机在后台把微信杀掉吗?
    wangxiaoaer
        14
    wangxiaoaer  
       310 天前 via iPhone
    @BAT ???公共场所装摄像头是偷拍??

    当然,这种场景下隐私问题值得商榷,但你上来就扣一个偷拍的帽子不合适吧。
    honeycomb
        15
    honeycomb  
       310 天前 via Android   ❤️ 5
    @cairnechen 这不是很正常嘛:

    微信只需要自身私有存储的访问权限,而这一点并不需要存储权限。
    如果它要访问公共存储的媒体,比如照片,自然可以通过系统的 file picker,这么做也不需要存储权限,也就是说好的做法是这样的:
    1:用户在微信中尝试使用一个储存在公共区域的媒体
    2:微信索取访问公共存储的权限
    3:用户不许可
    4:微信便让用户通过 system file picker 取得文件,整个过程里微信只看到了用户选择的文件。

    微信在 iOS 基本上就是这么做的,但是在 Android,微信把自己的私有文件拉到了公共储存区域,并且强行要求公共储存权限,这是微信人人喊打的原因之一。

    至于录音权限,只要不使用涉及语音功能,微信为何需要录音权限呢?
    ParfoisMeng
        16
    ParfoisMeng  
       310 天前   ❤️ 1
    @flineqaq
    “就是偶尔晚会上看到别人在自己店里装摄像头也能被处罚” --> 看起来你提到的晚会是“315”晚会吧,会上曝光了科勒使用万店掌摄像头非法采集顾客人脸信息。请问,这难道不应该被处罚吗?
    “会感到他们很可怜╮( ̄▽ ̄"")╭” --> CTMD 难道不是可恨吗???

    上午在另一个帖子里人家讨论精品网问题就事论事说了放弃 OFFICE 转用 WPS,下面就看到你阴阳怪气的言论。[https://www.v2ex.com/t/763625#r_10344986]
    > 美国的 OFFICE,不好!中国的 WPS,好!咱们冢锅真是太厉害了!

    这里又看到这种刷下限的言论,block 了。真 TMD 恶心。
    honeycomb
        17
    honeycomb  
       310 天前 via Android
    @cmmulxuk 我是这样做的,Android 端和 iOS 端给微信的定位权限都设置为每次询问(这个选项隐含了无法后台访问位置的意思),这样就排除了后台访问的问题。

    至于摄像头,Android 要求前台时才可使用,iOS 不仅如此,还会在摄像头 /话筒使用时有明确通知。Android 从 12 开始也会有类似 iOS 的通知机制,这个问题就解决了。

    存储的话在 iOS 无问题,我没给它开放权限,都是通过系统分享机制的方式给它媒体,这样它只能看到我想给它看的内容。而 Android 端有 storage redirect,也能应对。未来 Android12 可以把它压制到类似 iOS 的状态。
    ParfoisMeng
        18
    ParfoisMeng  
       310 天前
    @wangxiaoaer 拜托查过了“315 人脸识别”事件再说话谢谢,动不动就扣帽子别人扣帽子不合适吧。
    wangxiaoaer
        19
    wangxiaoaer  
       310 天前
    @ParfoisMeng #18 拜托你自己先好好看看 “别人在自己店里装摄像头”这明显指的是那种小店,个体经营户之类的小区小超市之类,他们有个屁的分析能力,这种人流量并不大,主要目的是防盗、防纠纷。

    315 揭露的是大型商场,人流量大,有动机做客户画像,也有能力购买分析服务,就类似房地产商通过人脸进行定价之类。

    这两者有可比性吗?况且我也说了,即使是第一种,隐私问题也有待商榷。
    cmmulxuk
        20
    cmmulxuk  
    OP
       310 天前 via Android
    @honeycomb 现在最想要的就是对于敏感权限给予每次询问的选项,可是现在几乎都没有,只有头次询问,下次弹出的时候就没有每次询问选项了,只有使用中许可,拒绝和同意。微信对于消息推送又一直不支持或者体验很差。这摆明了就是故意这么高,知道在后台瞎搞,前台查了也是隔几分钟就获取敏感权限,却毫无办法,只能任由他刷流氓。
    ParfoisMeng
        21
    ParfoisMeng  
       310 天前   ❤️ 1
    @wangxiaoaer
    引发争议的原话是:“就是偶尔晚会上看到别人在自己店里装摄像头也能被处罚”。
    “个体经营户之类的小区小超市之类”你有在什么晚会上看到过?他们被处罚过?

    “这两者有可比性吗?”两者没有可比性,后者的主要目的是盈利,就是明摆的违法违规。前者不以盈利为目的即不违法,至于隐私问题只需要简单处理一下也没什么好商榷的。

    > 一般来说,公安机关在公共区域安装的视频监控或者与公安机关联网的社会单位视频监控,会通过“蓝标”设置予以规范提示,其目的就是保障市民对公共区域监控的知情权,从而保护个人隐私。为保护个人隐私应做到以下几点:
    >
    > 首先,在安装场所的问题,摄像头应该安装在公共场合适当地方。安装时要注意是否侵害了私人私密的空间。比如,如果小区的摄像头刚好可以照进住户的房中,这就会引起争议了。
    >
    > 其次,摄像头安装时应在附近标有提示性标语,以提醒市民保护自己的隐私。而在对于摄像头的管理方面,应是采集信息后,视频资料的利用和去向要合法,视频资料不能随便流出,要完善隐私的法律保护,对监控数据进行严格的管理,要制定查看、使用影像的严格程序,如擅自恶意传播将会受到法律的制裁。
    >
    > 扩大监控范围,是公共安全监管手段的一次升级。但相应的,监控的增多本身也对相关的监控管理提出了更高要求。只有监管跟上,确保监控不溢出公共安全和公民隐私的边界,才能真正为公众带来实实在在的安全感。
    >
    > 摘自[https://www.bbaqw.com/kp/4045.htm]
    wangxiaoaer
        22
    wangxiaoaer  
       310 天前
    @ParfoisMeng #21 “就是偶尔晚会上看到” 不好意思,“晚会上”这几个字被我看成 “晚上 xx”了。 草率了,草率了。
    cairnechen
        23
    cairnechen  
       309 天前
    @honeycomb
    我理解你的意思是微信不需要存储权限就可以实现保存聊天记录 /文件这样的功能吗,这个我还真没了解过,可能得查下资料

    至于录音功能,微信至少作为一个名义上的语音聊天软件,录音功能就像空气和水一样必要,如果觉得这个功能都不可以声明为应用必须的权限的话,我觉得没啥讨论下去的必要。

    最后,我需要提醒的是,精细化的管理是需要成本的,我之前一直觉得这个成本是开发者支付的,现在发现这个成本用户也在支付,特别是 Apple 前不久关于应用访问照片权限的改动,看起来非常人性化,非常保护用户隐私,但是使用了不久之后就会发现访问部分照片这个操作的繁琐程度对用户体验几乎是毁灭性打击,相比使用这个功能,我宁可选择相信那些 App 的节操,多试几次感觉自己狂躁症都要犯了。

    扩展阅读:/t/308630
    ParfoisMeng
        24
    ParfoisMeng  
       309 天前
    @wangxiaoaer 猜到了,问题不大。

    编辑 15L 的内容时真的火大,回复后看到你 13L 的回复有点炸就顺便也怼了你。
    后面气消了冷静了就想到应该是有误解。由此可见凡事得三思后行。
    同草率了,sorrysorry~
    loading
        25
    loading  
       309 天前 via Android
    我用高德地图的时候因为需要语音唤醒,顶部会有红色麦克风提示,我想问问,微 x 直接点语音又没有,是我 hw 开了绿灯还是什么黑+科技?
    cmmulxuk
        26
    cmmulxuk  
    OP
       309 天前 via Android
    @loading 这种应该属于应用分类,地图一般情况不需要语音权限,所以严格些,微信属于聊天软件,语音属于必须,所以要放松些,现在的问题是微信确实需要一些敏感权限,可是它在过度使用这些权限。
    honeycomb
        27
    honeycomb  
       309 天前 via Android
    @cairnechen

    “录音功能就像空气和水一样必要,如果觉得这个功能都不可以声明为应用必须的权限的话,我觉得没啥讨论下去的必要。”

    录音是微信可以运行的必要依赖吗?
    既然不是,就不要说什么录音功能像水一样必要的大话。

    精细管理确实需要成本,但你有没有想过,这里的大前提是当事人不能不使用微信,因此无奈做出了妥协。如果软件遵守了最佳实践,比如 signal,telegram,哪还需要如此折腾呢。
    honeycomb
        28
    honeycomb  
       309 天前 via Android
    @cmmulxuk
    我能知道的是在 iOS 和比较新( 11 )的 Android 里,定位是可以设置为每次询问,在 Android 11,拍照权限也可以定义为每次询问,iOS 则不提供该能力,但可以保证摄像头 /录音启动时有系统级的明确提醒。

    非原生的 Android 的权限控制机制可能不同(可能更强也可能更弱)

    照片访问权限在 iOS 可以通过不提供照片库访问权限,仅使用从外部 app,如系统自带图库分享到微信,或者在微信的照片访问权限里设置为仅选中的照片。

    其它方面的权限如果需要一次性许可的话,得看系统是否提供,或者使用类似 appops,storage redirect,xprivacy lua 等代价高的手段去达到。
    honeycomb
        29
    honeycomb  
       309 天前 via Android
    @cairnechen 至于微信在 Android 滥用存储权限的细节是这样:

    它把账户数据和大量的缓存文件放到 /sdcard/weixin 目录下,这是一个可以公开访问的位置。
    首先,这个位置显然是错误的,上述的所有数据,除了用户希望导出的内容外,都应当存放在微信私有的目录中。

    为了访问这个错误的位置,有两个办法,一个是获得整个 /sdcard 目录的访问权限,也就是这个帖子提到的储存权限。微信用的就是这种,通过这个方式,它就能同时访问 /sdcard 目录下所有内容(有少数例外)。

    第二个方法是通过 Android 11 加入的 scoped storage API,只给微信提供 /sdcard/weixin 的访问权限,这样做虽然也不好(数据依然在公共空间,别的有权限的应用依然访问该目录的所有内容),但至少能保证它无法访问别的目录。

    好的做法是把数据全部放在私有目录,通过 content provider 、scoped storage 等方式导出 /分享用户希望公开的媒体。这样便满足了权限最小的原则。
    honeycomb
        30
    honeycomb  
       309 天前 via Android
    @cmmulxuk
    这边强制让微信走了 gcm,如此一来消息推送非常差,(一小时级别的)延迟,收不到通知都是家常便饭,但我能接受这个结果。
    说到底这种事情还是国外的月亮比较圆。
    cairnechen
        31
    cairnechen  
       309 天前
    @honeycomb

    第一,「可以运行」不是确定必需权限的标准,如果你坚持一个语音聊天软件不可以声明录音权限为必要权限,请不要再回复我这个话题了

    第二,我举的例子就是想说明遵守你所谓的「最佳实践」不一定带来好的用户体验,各种利益驱使下,开发者可能会选择偏离「最佳实践」的方向(但这种偏离和用户利益有可能是一致的),特别对于大公司来说,一定会倾向于利益最大化的方案,这不是外界的口水能够改变的,指望大公司不这么做,还不如指望苹果审核强制要求呢。另一方面,开发者对于所谓「最佳实践」的偏离,反过来会作用于规范的制定者,改进和调整规范,比如 Android Bottom navigation,当年被原教旨骂得不知道有多惨,但是数据表现证明底栏确实是最符合用户操作习惯的也就坚持下来了,一直到 Google 修改规范,所以我觉得一直把「最佳实践」挂嘴边的非常教条主义,真正的产品开发肯定是需要结合现实情况做出调整。
    jjianwen68
        32
    jjianwen68  
       309 天前
    担心你会瞬移,下一秒就跑的找不着了
    itisaun
        33
    itisaun  
       309 天前 via iPhone
    我之前直接不给微信定位权限,但我又忘了这回事,有一次公共场所扫码一直扫不上弄的我很尴尬,从那以后我就改变策略,直接给微信权限,平时把系统定位开关关闭,需要时再打开。
    honeycomb
        34
    honeycomb  
       309 天前 via Android
    @cairnechen

    「可以运行」显然就是确定必需权限的标准,如果你坚持一个语音聊天软件必须声明录音权限为必要权限,那是你错了:软件是否能运行才是判断必要权限的标准。

    至于最佳实践的部分,我觉得你在混淆概念。
    你也很清楚,厂商追求的是自身利益,这方面和数据好看相关性很大。但是数据好看的做法并不一定是最佳实践,Android 的底栏便是非常典型的例子:
    它的数据比汉堡菜单、顶部导航好,但是这个设计的丑陋也是显而易见的。
    honeycomb
        35
    honeycomb  
       309 天前 via Android
    @itisaun 这种情境下,如果公共场所的扫码必须与定位绑定,我一般会放弃,除非它是不可抗力的事项。
    dandelion911
        36
    dandelion911  
       309 天前
    在想国外法律隐私保护严格 如果开虚拟定位到国外或下载国际版本的微信 微信会不会停止后台获取位置
    murmur
        37
    murmur  
       309 天前
    我的微信相机、录音都是问号权限,没遇到问题,定位也是问号,没看他一直在要求啊
    opengps
        38
    opengps  
       309 天前
    微信把自己打造成“平台”级别的位置,就不得不索取尽可能全的硬件信息。比如依托微信的小程序,公众号,都在索要位置权限。但这始终是个矛盾:微信既要走平台级别的底层设计索取全部权限,又要自己向公众号小程序等用户做一层“授权”机制。
    cairnechen
        39
    cairnechen  
       309 天前
    @honeycomb

    那就言尽于此,在我眼里「可以运行」并不是确定必需的权限的标准,你坚持一个语音聊天软件不可以声明录音权限为必要权限,那是你错了

    看到「丑陋」这种主观评价出现在这里,确实没有啥继续讨论的必要了,已经看到了原教旨的影子
    honeycomb
        40
    honeycomb  
       309 天前 via Android
    @cairnechen 我有必要要指出你的错误,你有权利坚持你的错误,但你不该在这里蛊惑他人。
    cairnechen
        41
    cairnechen  
       309 天前
    @honeycomb

    我有必要要指出你的错误,你有权利坚持你的错误,但你不该在这里蛊惑他人。
    honeycomb
        42
    honeycomb  
       309 天前 via Android
    @cairnechen 让你恼羞成怒到这个程度也是不粗
    cairnechen
        43
    cairnechen  
       309 天前
    @honeycomb 让你恼羞成怒到这个程度也是不粗
    honeycomb
        44
    honeycomb  
       309 天前 via Android
    @cairnechen 你要记住一件事,即便是微信也不会在首次启动时获取麦克风权限
    flineqaq
        45
    flineqaq  
       309 天前 via iPhone
    每次把分析问题的方向指向具体事件,就有人开始暴跳如雷了。还是大而化之地说吧:

    窃__者诛,窃__者侯。腾讯阿里推特脸书这些属于后者。
    neochen13
        46
    neochen13  
       309 天前
    这还不简单,直接用 iphone 不就完事了
    hoyixi
        47
    hoyixi  
       309 天前
    即使不给位置权限,其实还是有简单办法获取你的位置的
    lianjin
        48
    lianjin  
       309 天前
    @hoyixi
    至少也要让他付出代价
    kaedea
        49
    kaedea  
       309 天前 via Android
    微信没有在后台一直定位的需求,楼主要不私聊给我个微信号,我捞你日志看看。
    honeycomb
        50
    honeycomb  
       309 天前 via Android
    @kaedea 仅是看 appops 日志就能注意到微信会不停调用涉及定位的 API
    asadegg
        51
    asadegg  
       309 天前
    @hoyixi 无法获取详细位置,更不知道你几时移动,几时停留,只能获取大致城市范围
    keelele
        52
    keelele  
       309 天前
    这没法办法的事情,,人为刀俎我为鱼肉啊。。。
    现在还好很多了 ,各类软件曝光他们以后强很多了
    kaedea
        53
    kaedea  
       309 天前 via Android
    @honeycomb
    这问题更像是 Bug,违反了 Android 对于定位使用的建议,如果发现是要修复或者优化的。

    类似这种问题,根据我这边的排查经验,猜测大概有两种可能性:1. 微信持续定位的功能(比如共享位置),在部分场景下有 Bug 导致退后台后依然没有取消定位; 2. 部分小程序使用定位的姿势不对,在后台依然在频繁刷新位置信息。

    不过像这种问题没有现场日志是比较难定性的,楼主问题这么频繁的话,真的不妨私聊下我,帮忙在微信里上传一下工作日志,分析一下微信当时频繁定位的原因。
    honeycomb
        54
    honeycomb  
       309 天前 via Android
    @kaedea 确实是个务实的好办法!
    cmmulxuk
        55
    cmmulxuk  
    OP
       309 天前 via Android
    这帖子无法回复了吗?
    cmmulxuk
        56
    cmmulxuk  
    OP
       309 天前 via Android
    @kaedea 不是 bug,这个情况持续了一年多, miui 12 照明弹发布后,一时兴起看了下,然后发现了这个问题,期间经历过系统更新,微信重装,升级,清楚所有数据,这个情况一直存在。
    也拿其他品牌手机试过,这个问题普遍存在。获取位置信息非常频繁,十几分钟一次,一直没断过。
    kaedea
        57
    kaedea  
       308 天前 via Android
    @cmmulxuk 按照微信代码的尿性,我对于是 Bug 这件事情上非常有自信。
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4495 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 06:25 · PVG 14:25 · LAX 22:25 · JFK 01:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.