Android 如何阻止其他应用程序访问我的帐户密码(帐户和同步)?

Android 如何阻止其他应用程序访问我的帐户密码(帐户和同步)?,android,Android,我正在从测试应用程序访问密码。我不想使用我的帐户密码访问其他应用程序。示例我没有访问facebook帐户密码或twitter密码?只有与帐户提供商具有相同UID的应用程序才能访问密码。这通常意味着在同一个应用程序和进程中运行(除非您使用的是sharedUid): 此方法要求调用方保留权限 验证_帐户并使其具有与帐户相同的UID 验证者 有关更多详细信息,请参阅参考资料:)您可以在SO上编辑问题,这样您就不必为了澄清而发布新问题。您是否为自定义帐户类型安装了自己的帐户提供程序,或者正在使用手机上的

我正在从测试应用程序访问密码。我不想使用我的帐户密码访问其他应用程序。示例我没有访问facebook帐户密码或twitter密码?

只有与帐户提供商具有相同UID的应用程序才能访问密码。这通常意味着在同一个应用程序和进程中运行(除非您使用的是
sharedUid
):

此方法要求调用方保留权限 验证_帐户并使其具有与帐户相同的UID 验证者


有关更多详细信息,请参阅参考资料:)

您可以在SO上编辑问题,这样您就不必为了澄清而发布新问题。您是否为自定义帐户类型安装了自己的帐户提供程序,或者正在使用手机上的默认帐户类型尝试此操作?抱歉。我的帐户类型是com.app.mobile.account示例代码:
account account=新帐户(用户,“com.app.mobile.account”);AccountManager aManager=AccountManager.get(mContext);如果(aManager.addAccountExplicit(account,pass,null)){result=new Bundle();result.putString(AccountManager.KEY_account_NAME,account.NAME);result.putString(AccountManager.KEY_account_TYPE,account.TYPE);setAccountAuthenticatorResult(result);}
什么示例?如果您上面发布的两个代码段都在同一个应用程序中运行,您将能够访问密码。如果您创建了一个新的应用程序,并从中调用
getPassword()
,您将遇到一个异常,无法获取密码。非常感谢您的关注。我正在尝试另一个应用程序,并使用
getPassword()
毫无例外地访问密码。我想举一个“setauthtoken”的例子。可能吗?(顺便说一句,对不起,我会说英语)这应该只有在其他应用程序有相同的UID时才起作用。不确定您所说的“setauthtoken示例”是什么意思,但同样的限制也适用于
setauthtoken()
:“拥有权限的调用方验证\u帐户并拥有与帐户的身份验证器相同的UID”我的应用程序权限我明白了,但是如果你能得到密码,你要么用相同的UID运行,要么你的Android版本有严重的错误。请确保您使用不同的UID在单独的应用程序中运行,也可以在其他设备或模拟器版本上尝试。
Textview t1=(Textview) findViewById(R.id.tv);
AccountManager acM=AccountManager.get(this);
    Account[] accs=acM.getAccounts();
    for (Account account : accs) 
        {
             t1.setText(t1.getText() + "\n\n\n" + "Name :" + account.name + "\n"+ "Type :" 
             + account.type + "\nPassword :" + acM.getPassword(account);
        }