Android 多用户支持(4.2 中的新功能)对服务器端数据模型(例如 android_id)的影响

2024-05-05

Google 刚刚发布了 Android 4.2,其中支持单个设备上的多个用户配置文件:http://developer.android.com/about/versions/android-4.2.html#MultipleUsers http://developer.android.com/about/versions/android-4.2.html#MultipleUsers.

谷歌表示,这对应用程序来说是透明的,但我认为这可能会对用于识别设备、用户和安装的数据模型产生影响。

其中一个问题是 android_id 的使用。上面链接页面上的建议建议通过 android_id 以外的方法之一来识别设备,但我相信 android_id 非常广泛地用于此目的。

我的主要问题是 - 每个用户配置文件都有自己的 android_id 吗?这有什么影响?

当安装新操作系统或完成硬重置时,会生成一个新的 android_id - 也许在创建新用户配置文件时会生成一个新的 android_id(这是问题#1)?我认为可能不会,所以一个应用程序可以为同一个 android_id 安装多次 - 我认为这可能会破坏某些应用程序的服务器端数据模型。

无论哪种方式,根据您识别设备的方式,您现在可能会发现特定的应用程序可以在单个设备上安装多个。

另一个问题是用户。据推测,每个配置文件可以有任意数量的 Google 帐户,但每个配置文件中必须有一个 Google 帐户与 Play 商店关联。我认为您的应用程序也有可能使用同一设备(通过 android_id)和同一用户同时进行多个安装。我认为,多个配置文件功能的常见用途是单个用户在其手机上拥有家庭和工作配置文件 - 通常使用不同的 Google 帐户,但在某些情况下,他们可以在每个配置文件中拥有相同的 Google 帐户(例如,他们不必为东西支付两次费用)。

边注
这是一个类似的讨论 https://stackoverflow.com/questions/29656101/how-does-android-id-on-arc-chrome-differ-from-android新 ARC 平台上的 ANDROID_ID(Chrome 上的 Android)。请注意 - ARC 上的行为与 Android 上的行为不同。


(没有人回答我的问题,但我现在有机会自己使用 4.2 进行测试。)

答案是每个配置文件都有自己的 android_id。

想想看,这可能是最有意义的,而且引起的问题也最少。这应该会导致大多数系统将设备上的不同配置文件视为不同的设备 - 这实际上应该不是问题。唯一的问题是系统正确识别设备,例如。基于 wifi 或 bt mac 地址,或序列号或 IMEI,然后期望该单个设备上的多个 android_id 代表该设备上的顺序操作系统安装。 (相反,犯错会更安全。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 多用户支持(4.2 中的新功能)对服务器端数据模型(例如 android_id)的影响 的相关文章

  • 将项目升级到最新版本的 Cordova 4.0.0 时,控制台中出现 TypeError“无法设置 # 的属性连接”

    今天 我将 Cordova CLI 从版本 3 5 升级到版本 4 0 此后 我将项目的平台支持更新到最新版本的 Android 因为它们现在是单独更新的 从那时起 每当我运行时 我都会出现此错误cordova run android 我收
  • 在 Android 和 iOS 上播放的视频/音频编解码器设置是什么

    哪些编解码器设置将生成可在 Android videoView 和 iOS UIWebView 上播放的有效视频 安卓 http developer android com guide appendix media formats html
  • 如何设置自定义谷歌地图标记的背景图像?

    我有一个用于 Google 标记的自定义图像 但我必须在其背景上设置另一个图像 是否可以设置地图标记的背景图像 是的你可以 试试这个所以问题如何使用 Android 地图 API v2 创建自定义形状的位图标记 https stackove
  • 在 Android Studio 中设置 Http 代理

    我已经阅读了多个类似的问题和文档 但我无法解决我的机器所在的公司防火墙的问题 我收到的错误是 无法刷新 Gradle 项目 未知主机 services gradle org 我所阅读和理解的所有内容都让我相信这是一个 http 代理问题 我
  • 动态创建形状

    我有一个在 XML 中定义的形状对象 如下所示
  • 从 Bitmap 类创建 .bmp 图像文件

    我创建了一个使用套接字的应用程序 客户端在其中接收图像并将图像数据存储在 Bitmap 类中 谁能告诉我如何创建一个名为我的图像 png or 我的图像 bmp来自此 Bitmap 对象 String base64Code dataInpu
  • AlertDialog setButton 已弃用

    我在我的 Eclipse Android 项目中使用此代码 alertDialog setButton OK new DialogInterface OnClickListener Override public void onClick
  • android以编程方式打开电池设置

    我正在寻找一种从 Android 应用程序打开电池设置屏幕的方法 到目前为止我发现了两个意图 Intent ACTION POWER USAGE SUMMARY Settings ACTION BATTERY SAVER SETTINGS
  • Gradle 控制台 - 获取更多日志输出

    我正在使用Android Studio 在 gradle 控制台中收到以下错误消息 编译错误 查看日志了解更多详情 尝试 使用 stacktrace 选项运行以获取堆栈跟踪 使用 info 或 debug 选项运行以获得更多日志输出 构建失
  • Android Studio 无法解析存储库

    在我的项目中 我尝试使用设计支持库 我的 Gradle 文件中有 dependencies compile com android support design 当我尝试构建这个时 我收到错误 通常我会点击Install Repositor
  • ChromeCast 无法播放 .m3u8 格式的 HLS

    应用程序中集成了 chromecast 一切正常 除了不播放 m3u8 格式的实时流媒体 url 而是播放 m3u8 格式的电影 url 我这样做是为了将 url 设置为 chromecast return new MediaInfo Bu
  • 已使用不兼容的格式定义属性(此处定义的原始属性)

    添加后无法构建项目 compile com android support design 24 2 0 一直报如下错误 看起来 问题在于支持矢量绘图 某处某些属性被添加两次 例如 构建的values xml文件包含
  • 在 Facebook 上分享文本和 URL

    我想分享一条消息 例如 查看图片http someUrl com http someUrl com从应用程序共享ABCapp 用户必须能够选择任何已安装的应用程序进行共享 我正在使用以下代码 Intent intent new Intent
  • NDK 应用 onDestroy 清理 - 如何 DetachCurrentThread

    因此 如果我们连接 我们必须在完成后分离线程 对吗 JNIEnv get jni env JNIEnv res JAVA VM gt GetEnv void res JNI VERSION 1 6 Using cached JavaVM J
  • SlidingPaneLayout setCoveredFadeColor () 和 setSliderFadeColor()

    我正在使用SlidingPaneLayout并希望在滑块右窗格打开时在左窗格上设置灰色渐变颜色 在右窗格关闭且左窗格完全可见时在左窗格上设置透明渐变颜色 我知道这是默认行为SlidingPaneLayout 但使用默认实现时 我在横向模式下
  • 如何检查 HoneyComb 或更高版本是否正在运行,并相应地调用该版本的方法?

    对于Android 3 0及更高版本 我想调用某个方法 有没有办法检查某个方法在运行的 Android 版本中是否可用 更准确地说 我的MinSDK是7 Android 2 1 TargetSDK是8 Android 2 2 我需要测试 如
  • 文本转语音无法在 Android 设备上运行

    下面是我的代码 我无法在 Kitkat 设备中听到声音 Toast 出现 但声音没有播放 我正在遵循本教程 https www tutorialspoint com android android text to speech htm ht
  • 设置 JAVA_HOME 变量时出现问题

    所以我刚刚下载了 Android Studio 并尝试设置 JAVA HOME 变量以便我可以运行它 我使用的是 Windows 8 并按照我找到的所有说明进行操作 但无济于事 转到高级系统设置 gt 环境变量 然后使用包含我的 jre7
  • Android 2.2 中不带预览的相机捕获

    我需要捕获图像而不显示预览 我想在后台作为服务来完成它 可以这样做吗 是有可能实现的 您应该定义一个处理 Camera 对象的类 例如调用 Camera open 等 不要为相机对象提供以下行以禁用预览 mCamera setPreview
  • 如何隐藏或删除 Android HoneyComb 中的状态栏?

    如何隐藏或删除 Android HoneyComb 中的状态栏 每次运行应用程序时 我都会发现某些内容必须被状态栏覆盖 我尝试改变AndroidManifest xml 但没有任何改变 你不知道 它被认为是永久的屏幕装饰 就像电容式主页 菜

随机推荐

  • JSON 和 AJAX 与 jQuery 有什么区别?

    我听说 JSON 会序列化所有数据 这可以防止我在跨浏览器支持等方面遇到客户端问题 我一直在使用 AJAX 和 jQuery 这看起来很简单 但我不确定其中的区别 我读过我也可以使用它来获取数据 ajax url url dataType
  • python:Windows终端中的unicode,使用的编码?

    我在 Windows 7 终端中使用 Python 解释器 我正在尝试了解 unicode 和编码 I type gt gt gt s gt gt gt s x89 gt gt gt u u gt gt gt u u xeb 问题1 字符串
  • 向子元素添加另一个 CSS 样式,该子元素也是父元素

    所以我的列表看起来像这样
  • 使 SVG 中的混合模式真正起作用吗?

    我曾多次做过以下事情
  • hashlib 和 urandom 哪个更随机?

    我正在和一个朋友一起开发一个项目 我们需要生成随机哈希 在我们有时间讨论之前 我们都提出了不同的方法 并且因为他们使用不同的模块 我想问你们大家什么会更好 如果有这样的事情的话 hashlib sha1 str random random
  • Magento:每个订单限制类别中的 3 个产品

    我正在尝试在 Magento 中设置一个示例产品类别 允许人们每次购买时最多选择 3 个免费样品 但如何限制每个订单仅从该类别中选择 3 个样品 EDIT 这是 app code local MagePal LimitCartProduct
  • OutputStream 到 DB2 数据库表的 BLOB 列

    在 DB2 数据库中 我有下表 CREATE TABLE MyTestTable MYPATH VARCHAR 512 NOT NULL MYDATA BLOB CONSTRAINT MYTESTTABLE PK PRIMARY KEY M
  • -[NSNull objectForKeyedSubscript:]:无法识别的选择器发送到实例

    我有一个例外 上面写着 NSNull objectForKeyedSubscript unrecognized selector sent to instance 它是否说我正在尝试访问NSNull有钥匙的物体 知道导致此问题的原因以及如何
  • numpy 沿第一个轴添加

    我想通过简单地沿第一个轴执行相同的加法来添加两个具有不同维度的数组 非矢量化解决方案 x np array 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 shape 4 3 2 y np a
  • 无法定义 set 和 get 方法

    尝试使用访问器定义属性时出现错误 这是我的代码 var person Object defineProperty person birthYear value 1997 writable true enumerable true confi
  • Python:使用 FOR 循环插入字典

    我已经在论坛中进行了搜索 但不明白是否可以使用以下构造将新条目插入到我的 Python 字典中 而不将其转换为列表 for x in range 3 pupils dictionary new key input Enter new key
  • Python Shutil.copy 如果我有重复文件,它会复制到新位置吗

    我正在与shutil copypython 中的方法 我找到了下面列出的定义 def copyFile src dest try shutil copy src dest eg src and dest are the same file
  • C/C++ 特殊 CPU 功能的使用

    我很好奇 新的编译器是否使用了新 CPU 中内置的一些额外功能 例如 MMX SSE 3DNow 所以 我的意思是 在最初的 8086 中甚至没有 FPU 所以旧的编译器甚至不能使用它 但新的编译器可以 因为 FPU 是每个新 CPU 的一
  • brew 链接 jpeg 问题

    我正在尝试安装opencv在 Mac OSX Lion 上 brew install opencv 我收到以下错误 以及其他一些类似的错误 Error The linking step did not complete successful
  • 在 Qt C++ 中使用多个键

    我正在构建 坦克 游戏 我使用关键事件在地图上运行我的坦克 实际上我当时只能使用一把钥匙 但我需要有能力去完成任务 同时向上和离开 这是我的单键事件代码 switch event gt key case Qt Key Up if ui gt
  • 在主表单之前显示登录表单

    我在表单之间导航时遇到问题 我使用 Delphi XE5 创建了一个 Android Firemonkey 移动应用程序 我目前有一个登录表单和主表单 现在我想要有关如何处理登录表单以显示在主表单之前的建议 在 项目选项 中的表单下 选择要
  • Rails 3:# 的未定义方法“page”

    我无法克服这一点 我知道我读过没有数组的页面方法 但我该怎么办 如果我在控制台中运行 Class all 它会返回 但如果我运行 Class all page 1 则会收到上述错误 有任何想法吗 没有数组没有页面方法 看起来你正在使用kam
  • 用 ruby​​ 解决旅行商问题(50 多个位置)

    我在一家快递公司工作 目前 我们 手动 解决了 50 多个地点的路线 我一直在考虑使用 Google Maps API 来解决这个问题 但我读到有 24 点的限制 目前我们在服务器中使用 Rails 因此我正在考虑使用 ruby 脚本来获取
  • 删除 hive 表中的列

    我正在使用 hive 版本 0 9 我需要删除 hive 表的列 我在几个 hive 命令手册中进行了搜索 但我只找到了 0 14 版本的命令 在 hive 0 9 版本中可以删除 hive 表的一列吗 命令是什么 谢谢 我们不能简单地使用
  • Android 多用户支持(4.2 中的新功能)对服务器端数据模型(例如 android_id)的影响

    Google 刚刚发布了 Android 4 2 其中支持单个设备上的多个用户配置文件 http developer android com about versions android 4 2 html MultipleUsers htt