V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
JohnChu
V2EX  ›  问与答

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

  •  
  •   JohnChu · 2017-01-03 22:31:48 +08:00 · 1380 次点击
    这是一个创建于 2725 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    6 条回复    2017-01-04 19:50:17 +08:00
    honeycomb
        1
    honeycomb  
       2017-01-03 23:33:36 +08:00   ❤️ 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
       2017-01-04 11:37:58 +08:00
    @honeycomb 在 appops 里面没有看到 RUN_IN_BACKGROUND 。
    honeycomb
        3
    honeycomb  
       2017-01-04 12:07:30 +08:00 via Android
    @JohnChu 这是 Android7.0 开始才有的项目
    JohnChu
        4
    JohnChu  
    OP
       2017-01-04 12:12:02 +08:00 via Android
    @honeycomb 我是 6.0 。
    我在想有没有办法把它的 service 禁用掉,然后重新打包安装?
    honeycomb
        5
    honeycomb  
       2017-01-04 13:12:10 +08:00 via Android
    @JohnChu

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

    相比之下绿色守护辅助模式下的休眠可能更简单,因为处于 force stop 状态的应用自身不能唤醒自身。
    JohnChu
        6
    JohnChu  
    OP
       2017-01-04 19:50:17 +08:00 via Android
    @honeycomb 不能打包一下把服务禁用然后重新安装?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1006 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 20:40 · PVG 04:40 · LAX 13:40 · JFK 16:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.