0x8192dd
V2EX  ›  Android

好像没有办法能够阻止 Android 应用乱改系统音量?

  •  
  •   0x8192dd · Aug 10, 2018 · 16014 views
    This topic created in 2838 days ago, the information mentioned may be changed or developed.

    朋友跟我说有个打车应用为了“保证能够通知到用户”每次播放接单提示音都会把系统音量改到最大,哪怕当前静音,关闭录音和写入系统设置权限都没用,问我有什么办法收拾它。

    然后我发现,调用 AudioManager 修改系统音量好像并不需要什么权限诶……

    也就是说如果一个应用能够改音量,从系统层面没有办法阻止它偷偷改音量造成本来静音的用户被惊扰。

    各位老哥是怎么解决这个问题的?

    19 replies    2018-08-11 06:33:22 +08:00
    glaucus
        1
    glaucus  
       Aug 10, 2018
    以前用 Android 碰到过一个类似的东西,就是任何应用好像都可以随便访问我的剪贴板,最后写了个 Xposed 插件做了简陋的权限管理
    0x8192dd
        2
    0x8192dd  
    OP
       Aug 10, 2018
    @glaucus 感觉很多细节的地方权限管理没覆盖到,剪贴板我印象中也是不需要什么权限……
    mikeldy
        3
    mikeldy  
       Aug 10, 2018 via iPhone
    这种 app 直接卸载掉
    iwtbauh
        4
    iwtbauh  
       Aug 10, 2018 via Android
    appops 应该可以治

    https://i.imgur.com/kxjz6Ma_d.jpg
    iwtbauh
        5
    iwtbauh  
       Aug 10, 2018 via Android   ❤️ 1
    appops 应该可以治

    XCG0000
        6
    XCG0000  
       Aug 10, 2018
    现在高版本的 android 三方 app 设置静音需要申请权限了
    0x8192dd
        7
    0x8192dd  
    OP
       Aug 10, 2018
    @iwtbauh 回去研究研究,感谢
    Trumeet
        8
    Trumeet  
       Aug 10, 2018 via Android
    关闭权限都没用?可能是 Bug/黑科技 了吧,建议查一下 AOSP AudioManagerService 侧实现,看一下是不是有鉴权,有的话就是被 ROM 魔改了,去提交 Bug 吧。
    fengleidongxi
        9
    fengleidongxi  
       Aug 10, 2018
    @iwtbauh 这是 appopsx 吗?
    SorcererXW
        10
    SorcererXW  
       Aug 10, 2018 via Android
    先不管怎么解决,曝光一下这些 app 也行
    0x8192dd
        11
    0x8192dd  
    OP
       Aug 10, 2018
    @Trumeet 是压根没有这个权限,WRITE_SYSTEM_SETTINGS 和 RECORD_AUDIO,都不影响音量控制。在权限管理页面你想禁根本无从下手
    0x8192dd
        12
    0x8192dd  
    OP
       Aug 10, 2018
    @SorcererXW 滴滴,每周我朋友接顺风车单都能听见一大声“滴滴一下,顺风出行”,据说有一次还是在开会:)
    Trumeet
        13
    Trumeet  
       Aug 10, 2018 via Android
    @0x8192dd AudioManager Service 侧有鉴权么
    Trumeet
        14
    Trumeet  
       Aug 10, 2018 via Android
    @0x8192dd 如果连权限都没有的话就是 AOSP 缺陷了 qwq
    iwtbauh
        15
    iwtbauh  
       Aug 10, 2018 via Android
    @fengleidongxi 恩,是 appopsx,appops 的一个 frontend。
    不想装 appopsx 可以 adb 命令直接运行
    adb shell appops ....
    不过很蛋疼就是了
    lineageos 有隐私防护,那个也是 appops 的 frontend,用 lineageos 也可以用隐私防护
    fengleidongxi
        16
    fengleidongxi  
       Aug 10, 2018
    @iwtbauh 你为何选择 appops ?两个有什么本质的区别吗?
    iwtbauh
        17
    iwtbauh  
       Aug 11, 2018 via Android   ❤️ 1
    @fengleidongxi
    appops 是 Android 系统自带的功能
    appopsx 只是一个 appops 的前端
    adb appops 命令是一个命令行的 appops 前端
    lineageos 隐私防护也是一个 appops 的前端
    所以他们禁用的权限并没有区别。

    这里用 appopsx 是因为命令行的 appops 并不好用,而且也不能确定对方用的是不是 lineageos
    honeycomb
        18
    honeycomb  
       Aug 11, 2018 via Android
    @0x8192dd 用 appops 即可
    honeycomb
        19
    honeycomb  
       Aug 11, 2018 via Android   ❤️ 1
    @fengleidongxi 就是这么回事
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3339 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 60ms · UTC 10:43 · PVG 18:43 · LAX 03:43 · JFK 06:43
    ♥ Do have faith in what you're doing.