JohnChu
V2EX  ›  问与答

Android 应用的账号同步功能有没有相关组件?

  •  
  •   JohnChu · Jan 3, 2017 · 1742 views
    This topic created in 3516 days ago, the information mentioned may be changed or developed.

    我安装了“企业微信”,用绿色守护看到它一直在后台运行,唤醒路径是其同步账号功能。 我在手机的账号设置中删除企业微信的账号,过一会它还是会出现。 所以现在想问能不能通过禁用 app 某些权限和组件来达到禁止账号同步的目的?

    6 replies    2017-01-04 19:50:17 +08:00
    honeycomb
        1
    honeycomb  
       Jan 3, 2017   ❤️ 1
    同步账号是一个很好的后台触发运行的方式。
    尝试这些办法:

    1 ,用 appops ,将 GET_ACCOUNTS 项目设置为 ignore ,如此应该可以做到在手机的账号设置中看不到微信一项。或许这就可以阻止其通过账号同步的进行后台唤醒的那一部分。

    2 ,绿色守护的浅睡模式(不能阻止 wakelock),这个主要用于强迫微信走 GCM 。

    3 ,尝试把 RUN_IN_BACKGROUND 这个 op 也设定为 ignore 。这应该会导致微信完全无法在后台运行,也会导致收不到信息, GCM 到来时也无法唤醒微信。

    如果不愿意 root 手机,可以用 adb 的 shell 控制 appops 的设定(仅限 Android 6.0 或更高版本)
    JohnChu
        2
    JohnChu  
    OP
       Jan 4, 2017
    @honeycomb 在 appops 里面没有看到 RUN_IN_BACKGROUND 。
    honeycomb
        3
    honeycomb  
       Jan 4, 2017 via Android
    @JohnChu 这是 Android7.0 开始才有的项目
    JohnChu
        4
    JohnChu  
    OP
       Jan 4, 2017 via Android
    @honeycomb 我是 6.0 。
    我在想有没有办法把它的 service 禁用掉,然后重新打包安装?
    honeycomb
        5
    honeycomb  
       Jan 4, 2017 via Android
    @JohnChu

    禁用 service 意味着 root (或者通过 xposed 也能解决问题),这样能接受吗?

    相比之下绿色守护辅助模式下的休眠可能更简单,因为处于 force stop 状态的应用自身不能唤醒自身。
    JohnChu
        6
    JohnChu  
    OP
       Jan 4, 2017 via Android
    @honeycomb 不能打包一下把服务禁用然后重新安装?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5337 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 08:10 · PVG 16:10 · LAX 01:10 · JFK 04:10
    ♥ Do have faith in what you're doing.