gpt4 book ai didi

android - 检查是否在 Android 应用程序中启用了同步

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:52:31 25 4
gpt4 key购买 nike

有没有办法在我的 Android 应用程序中以编程方式检查“设置”>“帐户和同步”>“数据和同步”下的特定设置是否已启用?

有没有办法检查是否启用了常规同步设置?

谢谢!


如果知道“为什么”有帮助,我目前正在推出自己的同步功能(不使用 SyncAdapter)。但是,如果可能的话,我希望在数据和同步下列出我的同步服务。现在我正计划破解一个什么都不做的虚拟同步服务,并让我的应用程序的同步服务查询是否启用了虚拟同步服务。这会告诉我是否同步。

最佳答案

要知道同步是否已启用(而不像 rajpara's answer 那样处于 Activity 状态),请使用:

AccountManager am = AccountManager.get(YourActivity.this);
Account account = am.getAccountsByType(YOUR_ACCOUNT_TYPE)[0];
boolean isYourAccountSyncEnabled = ContentResolver.getSyncAutomatically(account, DataProvider.AUTHORITY);
boolean isMasterSyncEnabled = ContentResolver.getMasterSyncAutomatically();

“主”同步状态是全局同步开关,用户可以使用它来禁用手机上的所有同步。如果主同步关闭,您的帐户将不会同步,即使您的帐户同步状态表明它已启用。

正如@HiB 提到的,需要android.permission.READ_SYNC_SETTINGS 权限才能访问同步状态。 android.permission.WRITE_SYNC_SETTINGS 需要启用/禁用它。

如 MeetM 所述,您还需要 android.permission.GET_ACCOUNTS 来获取帐户。

关于android - 检查是否在 Android 应用程序中启用了同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11252876/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com