问题标签 [android-account]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
46 浏览

android-6.0-marshmallow - 带有 sdcard 作为内部存储的 Android (Marshmallow),Android 配置文件在重启后被删除

我真的很想知道以下问题是否是错误

  • 在某些特定的应用程序中,其中一些是开源的,
  • 在 Android AOSP 中,
  • 或在我的手机制造商对 AOSP 的更改中

手机是联想C2(K10a40),安卓6.0,联想最新补丁。

启用全盘加密 (FDE)。

32GB sdcard 被格式化为内部存储,使用 Android 的 Adoptable Storage 选项 ( https://source.android.com/devices/storage/adoptable )。

所有允许移动到“内部存储”sdcard 的应用程序都被移动到 sdcard。

几个应用程序,

  • Nextcloud 同步客户端
  • XING app(德国社交网络)
  • Onleihe(德国公共图书馆电子媒体客户端)

具有 100% 可重现(并且非常烦人)的行为,即存储在 Android 帐户中的所有登录等凭据在重新启动手机后都会被删除。

如果这些应用程序存储在“真实”内部存储中,而不是存储在格式化为内部的 sdcard 上,则不会发生此错误。这当然不是一个可接受的解决方案,因为这些应用程序,尤其是。Nextcloud 和 Onleihe 正在本地存储大量数据。

我已经为 Nextcloud 打开了一个错误(https://github.com/nextcloud/android/issues/1814),但到目前为止还没有解决方案。

我在 Android 文档中找到了关于由开发人员属性“android:installLocation”设置的内容。如果通常应允许将应用程序以“内部存储”模式移动到 sdcard,则必须设置哪个。

在创建 Android 帐户时,Android 开发人员有什么特别需要注意的事项吗?可能忘记为这三个应用程序设置这些帐户?存储在 sdcard 上的应用程序与 Android 帐户的帐户处理有何不同?

在此先感谢,迈克尔

0 投票
2 回答
1379 浏览

android - AccountManager:什么时候设置结果?

语境

我的应用程序只存储用户/通行证。不使用令牌。

问题 1

方法setAccountAuthenticatorResult(Bundle)onResult(Bundle)旨在通知AbstractAccountAuthenticator结果,但是我有一个没有它们的项目,它们有什么用?

问题2

onRequestContinued()为了什么?

问题 3

什么时候addAccount完成并创建帐户,应该在触发它时onActivityResult调用它?Activity

问题 4

如果在实现Intent中返回带有 key的 an,则将启动. 我注意到许多开发人员添加了附加功能。谁得到它们?AccountManager.KEY_INTENTaddAccountAbstractAccountAuthenticatorIntent


回答

克里斯拉森

感谢你的回答。AccountManager老实说,我认为我们可能用错了。

我们想在我们的应用程序中共享一些凭据,所以我们有一个Service保存自定义帐户类型。由于应用程序知道帐户类型并共享签名证书,因此它们可以访问Account.

当每个应用程序启动时,它们都会尝试获取Account. 如果不存在,他们通过调用Account来触发我们的登录页面。ServiceAccountManager.addAccount(...)

一旦登录(通过 Web 服务)成功,我们就可以通过AccountManager.addAccountExplicitly(...). 在它之后不设定结果,不会影响结果。

它如何影响AccountManager?这种方法正确吗?

0 投票
1 回答
291 浏览

android - (AccountManager) context.getSystemService(Context.ACCOUNT_SERVICE) vs Accountmanager.get(context)

What's the difference between -

and

What should i use when-

1.Retrieving list of already created accounts in device

2.Adding my app's account to device

0 投票
1 回答
211 浏览

android - 找不到联系人应用程序的 android.provider.CONTACTS_STRUCTURE 元数据

我正在尝试使用以下代码在我的设备中获取联系人可写帐户列表

但我总是将 XmlResourceParser 解析器设为空。所以请帮助我如何获取android中的联系人可写帐户列表

0 投票
1 回答
1071 浏览

android - AccountManager.newChooseAccountIntent 不要求创建帐户

我希望用户从我的 Android 应用程序中选择一个现有帐户。我在用着

但我在文档中找不到避免请求创建新帐户的方法。有没有可能实现?

在此处输入图像描述

0 投票
2 回答
571 浏览

android - 编辑通话记录名称

我已经实现了一个联系人应用程序,我希望我的应用程序的联系人姓名显示在设备的通话记录历史记录(电话应用程序)中,以防我接听/拨打这些号码。我怎么能做到这一点?

0 投票
0 回答
158 浏览

android - 在哪里/如何存储敏感信息?

我目前正在开发一个 Android 应用程序,我没有其他选择来存储一些敏感信息,例如用户名和密码,以便自动验证用户身份。

我知道这是一个非常非常非常糟糕的做法,因为我使用的服务器不管理一些令牌或此类事情,我没有其他选择。

我已经阅读了很多关于该主题的文档和文章,但我无法决定如何存储这些敏感信息。

我有 3 种可能性:

  1. 使用Android AccountManager系统
  2. 使用 Android Keystore 系统
  3. 使用新的 Jetpack 安全组件

AccountManager 系统不是最好的方法,因为正如文档所说:

重要的是要了解 AccountManager 不是加密服务或钥匙串。它以纯文本形式存储帐户凭据,就像您传递它们一样。在大多数设备上,这不是一个特别的问题,因为它将它们存储在一个只能由 root 访问的数据库中。但是在有根设备上,任何对设备具有 adb 访问权限的人都可以读取凭据。

所以我想使用 Keystore System 或新的 jetpack 安全组件来存储这些敏感信息。但老实说,我不是安全专家,我不确定哪种方式更安全。

根据文档,新的 jetpack 安全组件似乎很容易使用。

您是否认为这个新组件不如 Keystore 系统安全?

预先感谢您的帮助 !

0 投票
0 回答
211 浏览

android - 获取在 android 设备中配置的帐户数量

我想在没有任何用户干预的情况下获得配置的帐户计数。我AccountManager.getAccounts()在 API 级别 26 之前使用函数并且工作正常。

但由于 GET_ACCOUNTS 权限行为在 API 26 中已更改,它会在访问之前提示用户设备上的帐户列表。accountManager.newChooseAccountIntent()

我的要求是检查是否在我必须执行任务的帐户上配置了任何帐户(无用户交互)。除了提示用户选择帐户之外,我还有什么方法可以检查(帐户数量)。

我已经参考了以下票证,但在未经用户同意的情况下找不到任何方法:

AccountManager.getAccounts() 在 targetsdk > 23 中不起作用

使用 AccountPicker.newChooseAccountIntent 选择电子邮件

0 投票
1 回答
122 浏览

android - 将自定义行添加到联系人详细信息,仅适用于一个联系人

在一个 android 应用程序中,我添加了一个自定义行以自定义联系人详细信息,以mimetype在特定活动上打开我的应用程序。如果我对一个联系人执行此操作效果很好,但如果我尝试将其添加到我的所有联系人,则不会出现自定义行。

我正在使用以下代码:


如何将自定义行添加到我的所有联系人?

我的另一个问题是,当我对所有联系人运行此代码时,需要相当长的时间(联系人之间的时间在初始联系人之间增加 1 秒,到达列表末尾时大约 10 秒)。如何将 转换applyBatchbulkInsert

0 投票
0 回答
128 浏览

android - 使用 Android 帐户进行 PWA 身份验证

我编写了 SPA Web 应用程序,用户使用 AAD 单点登录 (open-id-connect) 登录,以便使用 cookie 标头对后端 REST API 的请求进行身份验证。

我想将应用程序转换为 PWA。是否可以使用在 Android 中注册的帐户而不是单独的登录体验?我的意思是 Outlook 或 Teams 应用程序使用的同一帐户。