问题标签 [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.
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 帐户的帐户处理有何不同?
在此先感谢,迈克尔
android - AccountManager:什么时候设置结果?
语境
我的应用程序只存储用户/通行证。不使用令牌。
问题 1
方法setAccountAuthenticatorResult(Bundle)
和onResult(Bundle)
旨在通知AbstractAccountAuthenticator
结果,但是我有一个没有它们的项目,它们有什么用?
问题2
是onRequestContinued()
为了什么?
问题 3
什么时候addAccount
完成并创建帐户,应该在触发它时onActivityResult
调用它?Activity
问题 4
如果在实现Intent
中返回带有 key的 an,则将启动. 我注意到许多开发人员添加了附加功能。谁得到它们?AccountManager.KEY_INTENT
addAccount
AbstractAccountAuthenticator
Intent
回答
克里斯拉森:
感谢你的回答。AccountManager
老实说,我认为我们可能用错了。
我们想在我们的应用程序中共享一些凭据,所以我们有一个Service
保存自定义帐户类型。由于应用程序知道帐户类型并共享签名证书,因此它们可以访问Account
.
当每个应用程序启动时,它们都会尝试获取Account
. 如果不存在,他们通过调用Account
来触发我们的登录页面。Service
AccountManager.addAccount(...)
一旦登录(通过 Web 服务)成功,我们就可以通过AccountManager.addAccountExplicitly(...)
. 在它之后不设定结果,不会影响结果。
它如何影响AccountManager
?这种方法正确吗?
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
android - 找不到联系人应用程序的 android.provider.CONTACTS_STRUCTURE 元数据
我正在尝试使用以下代码在我的设备中获取联系人可写帐户列表
但我总是将 XmlResourceParser 解析器设为空。所以请帮助我如何获取android中的联系人可写帐户列表
android - 编辑通话记录名称
我已经实现了一个联系人应用程序,我希望我的应用程序的联系人姓名显示在设备的通话记录历史记录(电话应用程序)中,以防我接听/拨打这些号码。我怎么能做到这一点?
android - 在哪里/如何存储敏感信息?
我目前正在开发一个 Android 应用程序,我没有其他选择来存储一些敏感信息,例如用户名和密码,以便自动验证用户身份。
我知道这是一个非常非常非常糟糕的做法,因为我使用的服务器不管理一些令牌或此类事情,我没有其他选择。
我已经阅读了很多关于该主题的文档和文章,但我无法决定如何存储这些敏感信息。
我有 3 种可能性:
- 使用Android AccountManager系统
- 使用 Android Keystore 系统
- 使用新的 Jetpack 安全组件
AccountManager 系统不是最好的方法,因为正如文档所说:
重要的是要了解 AccountManager 不是加密服务或钥匙串。它以纯文本形式存储帐户凭据,就像您传递它们一样。在大多数设备上,这不是一个特别的问题,因为它将它们存储在一个只能由 root 访问的数据库中。但是在有根设备上,任何对设备具有 adb 访问权限的人都可以读取凭据。
所以我想使用 Keystore System 或新的 jetpack 安全组件来存储这些敏感信息。但老实说,我不是安全专家,我不确定哪种方式更安全。
根据文档,新的 jetpack 安全组件似乎很容易使用。
您是否认为这个新组件不如 Keystore 系统安全?
预先感谢您的帮助 !
android - 获取在 android 设备中配置的帐户数量
我想在没有任何用户干预的情况下获得配置的帐户计数。我AccountManager.getAccounts()
在 API 级别 26 之前使用函数并且工作正常。
但由于 GET_ACCOUNTS 权限行为在 API 26 中已更改,它会在访问之前提示用户设备上的帐户列表。accountManager.newChooseAccountIntent()
我的要求是检查是否在我必须执行任务的帐户上配置了任何帐户(无用户交互)。除了提示用户选择帐户之外,我还有什么方法可以检查(帐户数量)。
我已经参考了以下票证,但在未经用户同意的情况下找不到任何方法:
android - 将自定义行添加到联系人详细信息,仅适用于一个联系人
在一个 android 应用程序中,我添加了一个自定义行以自定义联系人详细信息,以mimetype
在特定活动上打开我的应用程序。如果我对一个联系人执行此操作效果很好,但如果我尝试将其添加到我的所有联系人,则不会出现自定义行。
我正在使用以下代码:
如何将自定义行添加到我的所有联系人?
我的另一个问题是,当我对所有联系人运行此代码时,需要相当长的时间(联系人之间的时间在初始联系人之间增加 1 秒,到达列表末尾时大约 10 秒)。如何将 转换applyBatch
为bulkInsert
?
android - 使用 Android 帐户进行 PWA 身份验证
我编写了 SPA Web 应用程序,用户使用 AAD 单点登录 (open-id-connect) 登录,以便使用 cookie 标头对后端 REST API 的请求进行身份验证。
我想将应用程序转换为 PWA。是否可以使用在 Android 中注册的帐户而不是单独的登录体验?我的意思是 Outlook 或 Teams 应用程序使用的同一帐户。