android - 读取安卓账户数据
问题描述
我已经在我的手机上安装了一个 android 应用程序,它创建了一个我可以在设置>帐户下看到的帐户。我希望能够找出那里存储了哪些信息。这可能吗?
我认为它将数据存储在应用程序所有者的服务器上,所以我想知道这些数据是什么。或者数据是否存储在我的谷歌帐户中的某个地方?
我在哪里可以找到有关此功能的一些 android 开发人员文档?
解决方案
不幸的是,坏消息。这个过程通常使用同步适配器完成,或者至少使用 Account Manager组件。(例如官方教程)。虽然可以获得一些信息,但大部分信息是隐藏的。
简而言之,没有存储帐户信息的文件夹/文件,因此您无法访问它。
登录数据由操作系统存储,因此可以查询基本信息,如用户名/电子邮件(来源):
AndroidManifest.xml
:
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
MyActivity.java
:
AccountManager am = AccountManager.get(this); // "this" references the current Context
Account[] accounts = am.getAccountsByType("com.google");
String name = accounts.toString()
然而,发送和接收的实际信息完全由应用程序本身处理,这意味着您无法查看它所拥有的关于您的信息。这可能在某处的服务器上,或者加密,甚至不存在。您可能会尝试拦截进出您设备的所有流量,但这超出了此问题的范围。
找出应用程序包含您的哪些信息的最简单方法是询问公司。例如,在英国,您可以提交Subject Access Request。
推荐阅读
- arrays - “将设备上的主要用户批量更改为上次登录”脚本错误
- performance - 使用搜索空间参数设置调整学习器
- java - 如何将 Python 模型集成到 Java 中的 Spark 模块中?
- html - 如何在多行之间插入一个按钮
- python - 如何在 Django 中获取表单的 ID?
- c# - 如何避免“System.InvalidOperationException:客户端投影包含对常量表达式的引用”错误?
- neo4j - 如何将节点动态映射到相应的部分?
- r - 从 data.frame 中提取单行而不丢失名称
- jmeter - 不包含 html 的 JMeter HTTP 请求
- angular - AG Grid 找不到匹配的 rowModelType serverSide 行模型