java - 以编程方式在Android上创建谷歌帐户(非root设备)

标签 java android security

我需要在我的 Android 设备上创建(或关联)一个 Google 帐户。我已启用 USB 调试,并且可以通过 adb 运行命令(已启用 USB 调试)。我尝试了多种方法并进行了搜索,但一直无法找到解决方案。

我知道您可以删除具有 MANAGE_ACCOUNTS 权限的 Google 帐户,这就是我需要能够自动添加该帐户的原因之一。当简单地将 addAccountExplicitly 与命名空间 com.google 一起使用时,它会给出错误“java.lang.SecurityException:调用者 uid 10165 与身份 validator 的 uid 不同”,该错误在 Android 开发人员文档中进行了描述。

干杯

最佳答案

您可以尝试使用 AccountManager addAccount 方法。

AccountManager accountMgr = AccountManager.get(mContext);
accountMgr.addAccount("com.google", "Auth_Token_Type", null, new Bundle(), (Activity) mContext, null, null);

对于身份验证 token 类型,您可以使用“oauth2: https://mail.google.com/

或者,您可以通过执行以下操作来使用 native 设备“添加帐户” Intent

startActivity(new Intent(Settings.ACTION_ADD_ACCOUNT));

关于java - 以编程方式在Android上创建谷歌帐户(非root设备),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18612714/

相关文章:

php - 安卓安全: Save a private String

java - JBoss/Resteasy 如何在公开 API 之前使用过滤器预填充对象?

java - 在没有对象映射器的情况下将对象转换为 Jackson 中的 JSON 文件

android - 将 UI 元素的位置/大小设置为屏幕大小的百分比

android - 在 Android Wear 上访问 Google Fit 步数

android - 错误: In project 'app' a resolved Google Play services library dependency depends on another

java - Servlet 中的安全图像上传

php - 如何防止 PHP 中的 SQL 注入(inject)?

java - 接口(interface)内部的内部类

java - 如何将 jdbiFactory DAO 注入(inject) Dropwizard 命令?