Articles of 帐户

Accountmanager.addAccount()vs Accountmanager.addAccountExplicitly()

为什么我们使用Accountmanager.addAccount()时,我们可以使用Accountmanager.addAccount()创build所有参数的帐户。 我Accountmanager.addAccount()了,并找出当我们使用Accountmanager.addAccount()它触发AbstractAccountAuthenticator addAccount事件,但是有什么意义呢? 为什么我们应该使用addAccount方法? 大功率的 我们可以这样创build账户: Account account = new Account(accountname, accountType); mAccountManager.addAccountExplicitly(account, accountPassword, null);

是否可以重写帐户和同步“删除帐户”function

我正在使用具有同步适配器和身份validation器的应用程序,通过Android帐户pipe理器添加帐户。 我有以下两个问题: 1)可以在帐户和同步中覆盖“添加帐户”button的function,但我找不到一种方法来覆盖“删除帐户”button的function – 这可能吗? 2)我已经阅读authentication可以防止删除他们的帐户,但我不知道如何……有人知道我可以如何将其添加到我的authenticator? 这样我可能能够使用AbstractAccoutnAuthenticator.getAccountRemovalAllowed获得我想要的function。 谢谢

列出所选帐户的受支持的授权

我试图开发一个应用程序,只使用ContentResolver.requestSync(account, authority, extras);同步选定的帐户ContentResolver.requestSync(account, authority, extras); 。 我可以分别使用com.android.contacts和com.android.calendar作为authority 同步联系人和日历。 但是,有什么方法可以获得特定帐户支持的权限列表 ? 另外,使用null作为authority的效果是什么?

android sdk在帐户设置中提示toast消息

我正在使用AbstractAccountAuthenticator,我想单个帐户为我的应用程序。 所以当用户select为这个应用程序添加一个新的帐户,我想提示一条消息。 我看到其他应用程序使用敬酒的消息,但由于某些原因,我不显示。 我显示这样的消息: public Bundle addAccount() { if (accounts.size() > 0) { Toast.makeText(context, R.string.MSG_ONLY_ONE_ACCOUNT_IS_SUPPORTED, Toast.LENGTH_LONG).show(); return null; } } 任何想法为什么? 我正在从AbstractAccountAuthenticator的addAccount()方法中检查账号。

获取用于下载应用程序的Google ID

我怎样才能找出哪个谷歌帐户下载应用程序? 此问题与获取用于应用内结算购买的Google ID相关 谢谢!

SyncAdapter:帐户创build,requestSync确定,但setSyncAutomatically不工作

我刚刚为我的应用程序创build了一个帐户。 该帐户在设置中可见 我在我的XML中设置了syncable =“true” 我可以通过按设置来执行手动同步 – > onPerformSync被调用 我可以通过调用ContentResolver.requestSync来执行“代码”同步 – > onPerformSync被调用 当然,是的,同步在设置中启用。 我不使用任何节电器。 我也遵循从这里的所有步骤: https : //stackoverflow.com/a/5255360/327402 这是我的代码来获得代码的同步 AccountManager am = AccountManager.get(this); Account[] accounts = am.getAccountsByType(ACCOUNT); //Log.e("DEBUG", "Accounts: " + accounts.length); if (accounts.length == 0) { Account account = new Account(getString(R.string.app_name), ACCOUNT); ContentResolver.setIsSyncable(account, AUTHORITY, 1); ContentResolver.addPeriodicSync(account, AUTHORITY, new Bundle(), 7200); ContentResolver.setSyncAutomatically(account, AUTHORITY, true); if […]

无法使用相同的validation器从不同的应用程序添加新的自定义帐户

我有两个应用程序都使用相同的自定义帐户types。 这两个应用程序是完全独立的,只是共享帐户。 当其中一个启动时,它检查现有的自定义帐户,如果没有find帐户,则显示login页面。 所以我创build了我的AccountAuthenticator作为一个库项目,并在两个应用程序中引用它。 根据这个教程 : 假设您将身份validation程序的代码复制到了您的两个应用程序,从而共享其逻辑,并更改每个应用程序的login页面devise以适合其所属的应用程序。 在这种情况下,当请求授权令牌时,第一个安装的应用程序的身份validation器将被调用。 如果您卸载第一个应用程序,第二个应用程序的身份validation器将从现在开始被调用(因为它是唯一的一个)。 当我运行其中一个应用程序(不pipe是哪个应用程序)并调用addAccount它会很好地显示login页面。 然后,当我运行第二个应用程序,并调用addAccount没有反应,login页面不显示。 卸载第一个应用程序后,第二个应用程序正常工作,并显示login页面。 那么问题是怎么解决的? addAccount的执行: mAccountManager.addAccount(accountType, authTokenType, null, null, this, new AccountManagerCallback<Bundle>() { @Override public void run(AccountManagerFuture<Bundle> future) { try { Bundle bnd = future.getResult(); showMessage("Account was created"); } catch (Exception e) { e.printStackTrace(); showMessage(e.getMessage()); } } }, null); 提前致谢

显示Android应用程序帐户和同步菜单下的设置

我正在实施Android应用程序的同步适配器,并希望在“帐户和同步”菜单下为帐户提供设置。 我已经看到这在DropBox应用程序中完成(如下所示),但我一直没能find如何做到这一点的文档。 我已经添加了账户,只是想添加一个链接到这个菜单中的账户设置。

获取用于应用内结算购买的Google ID

我注意到一个设备可能同时login多个Google账户。 我明白,前蜂窝,有一个主要的ID; 从Honeycomb上你可以简单地插入几个。 我目前有两个IDlogin到我的testing平板电脑。 从Google Play购买时,您可以select使用哪个帐户进行购买。 我想在应用程序中添加应用程序内结算,并且要确保每个Google ID都可以在任何设备上购买,这意味着我需要知道哪个ID用于购买。 这意味着我需要执行以下任一操作: 强制Google Play使用用户在我的应用内select的某个Google ID; 检索Google Play用于购买的ID。 这个文档似乎是在假定只有一个购买者在一台设备上活动的情况下编写的。 是否有可能做到这一点?

根据帐户设置调用的顺序,不会调用SyncAdapter

我遇到了一些与我的SyncAdapter有点奇怪的行为。 我第一次安装我的应用程序(使用adb卸载后),它启动并创build一个帐户。 根据一些语句的顺序(见下面),我的SyncAdapter的onPerformSync()永远不会被调用。 “帐户和同步”下的我的帐户显示无限期旋转的“正在同步”图标。 如果我然后取消选中我的应用程序的帐户旁边的同步checkbox,然后重新检查它,我立即调用onPerformSync()。 这会导致我的SyncAdapter永远不会被调用。 “同步进行中”图标将永久旋转,除非我取消选中,然后重新检查同步checkbox: final Account account = new Account(mUsername, getString(R.string.ACCOUNT_TYPE)); mAccountManager.addAccountExplicitly(account, mPassword, null); ContentResolver.setSyncAutomatically(account, getString(R.string.CONTENT_AUTHORITY), true); ContentResolver.setIsSyncable(account, getString(R.string.CONTENT_AUTHORITY), 1); 通过这个相同的陈述sorting,一切都很完美: final Account account = new Account(mUsername, getString(R.string.ACCOUNT_TYPE)); ContentResolver.setSyncAutomatically(account, getString(R.string.CONTENT_AUTHORITY), true); ContentResolver.setIsSyncable(account, getString(R.string.CONTENT_AUTHORITY), 1); mAccountManager.addAccountExplicitly(account, mPassword, null); 我的猜测是,我将SyncManager置于某种不一致的状态,因为它在帐户创build时立即触发同步请求,并且正在更改其configuration。 但是(几乎没有一致的)文档没有提到随时调用这些函数的任何问题。 除了其他的与SyncAdapter纠结的情况外,我发现contentResolver.requestSync()永远不会触发你的SyncAdapter.onPerformSync()除非你调用ContentResolver.setIsSyncable(account, getString(R.string.CONTENT_AUTHORITY), 1); 。 有人可以解释这种行为吗? 有关帐户和同步的文档至less可以说不清楚。 我在2.1模拟器上得到这个行为,编译2.1 SDK。