当我使用支持包时,是否有方法使用AccountAuthenticatorActivity的片段?AccountAuthenitactorActivity不是FragmentActivity类的子类,因此当我使用Support包时,我不确定如何使用它.
android android-fragments android-authenticator android-account
我想获得购买用户的名称/ ID.AccountManager
如果可能的话,我想不这样做,因为它的使用需要额外的许可.即使AccountManager
我没有看到确定当前账户的方法,所以欢迎任何建议.
android in-app-billing android-account google-play android-billing
我试图让用户使用以下代码选择一个电子邮件帐户:
Intent intent = AccountPicker.newChooseAccountIntent(null, null, new String[]{"com.google"},
false, null, null, null, null);
startActivityForResult(intent, 23);
Run Code Online (Sandbox Code Playgroud)
此代码效果很好,但如果用户没有Gmail帐户,但雅虎,Hotmail等.如何通过更改第三个参数显示所有电子邮件帐户:
new String[]{"com.google"}
Run Code Online (Sandbox Code Playgroud)
非常感谢你
Google的Android文档(http://developer.android.com/reference/android/accounts/AccountManager.html#addAccountExplicitly(android.accounts.Account,java.lang.String,android.os.Bundle))说:
返回
如果帐户已成功添加,则为True;如果帐户已存在,则为false,帐户为空,或发生其他错误
我变得虚假.具体来说,还有哪些其他错
android android-syncadapter android-authenticator android-account
我想知道是否应该实现AccountManager
保存用户凭据,如用户名,电子邮件,密码等.我找不到自己使用它的充分理由.
我不希望其他应用程序有权访问Accounts
,我真的不希望它们显示在"帐户和同步"设置中(虽然这可能不是什么大问题).
所以我的问题是:我应该使用它吗?优点缺点?我可以隐藏Accounts
其他应用并阻止它们出现在"帐户和同步"中吗?
java android password-storage accountmanager android-account
任何人都可以告诉我如何维护用户登录的会话.例如,当用户登录到应用程序时,除非用户注销或卸载类似于android中的gmail的应用程序,否则他们必须登录.
我正在使用一个使用AccountManager存储帐户和凭据的Android应用程序.我遇到的一个问题是,即使我将一堆String值传递给AccountManager的addAccountExplicitly数据包.
我已经检查以确保捆绑包不是空的,并且在添加帐户之前它包含值.大部分时间都是这种情况,但每当我查询这些值时,我偶尔会得到null.
在我刚删除帐户并重新添加后,空返回值更常见.
我在OnAccountsUpdateListener实现的onAccountsUpdated方法中进行查询,因此应该添加该帐户并且很好,对吧?
谢谢你的帮助
AuthenticatorActivity
// in the AuthenticatorActivity
Bundle userData = new Bundle();
userData.put (k1, v1);
userData.put (k2, v2);
userData.put (k3, v3);
userData.put (k4, v4);
userData.put (k1, v1);
Account a = new Account ("acc name", "com.account.type");
AccountManager am = AccountManager.get(this);
OnAccountsUpdateListener listener = new OnAccountsUpdateListener() {
@Override
public void onAccountsUpdated(Account[] accounts) {
Account mine = findAccount(accounts, account); // match account name
notifySignedIn(mine); // tell …
Run Code Online (Sandbox Code Playgroud) 我在我的应用中实现了同步适配器,需要在设备帐户设置中添加帐户.我遵循Android文档中给出的相同方法.它工作正常,直到棉花糖,我可以在设备帐户中看到我的帐户.但在Android N预览中,帐户不会添加到设备帐户.AccountManager的addAccountExplicitly()方法始终返回false.有人遇到过这个问题吗?
android android-contentprovider android-syncadapter android-authenticator android-account
我有两个使用相同自定义帐户类型的应用.这两个应用程序是完全独立的,只是共享帐户.当其中一个启动时,它会检查现有的自定义帐户,如果未找到任何帐户,则会显示登录页面.
所以我创建了我AccountAuthenticator
的图书馆项目并在两个应用程序中引用它.根据本教程:
假设您将验证者的代码复制到了2个应用程序中,从而共享其逻辑,并更改每个应用程序上的登录页面设计以适合其所属的应用程序.在这种情况下,当请求auth-token时,将为两个应用程序调用第一个安装的应用程序的身份验证器.如果您卸载第一个应用程序,将从现在开始调用第二个应用程序的身份验证器(因为它现在是唯一的一个).
当我运行其中一个应用程序(无论哪个应用程序)并调用addAccount
它时,它会很好地显示登录页面.然后,当我运行第二个应用程序并且调用addAccount
没有任何反应时,并且不会显示登录页面.卸载第一个应用程序后,第二个应用程序正常工作并显示登录页面.那么问题是什么,我该如何解决?
执行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);
Run Code Online (Sandbox Code Playgroud)
提前致谢
account android accountmanager android-authenticator android-account