【问题标题】:Store data on device on application install without opening app在应用程序安装时将数据存储在设备上,无需打开应用程序
【发布时间】:2017-12-31 18:54:10
【问题描述】:

是否可以在打开应用程序之前在安装我的应用程序时将数据保存到设备中?
如果没有,我正在寻找一种方法,我可以以某种方式将移动设备标记为“测试设备”,而无需在其上打开我的应用程序(仅安装)。

【问题讨论】:

  • 你真正想解决什么问题?
  • 更详细地说,我有很多移动设备,包括 IOS 和 Android,我将在它们上安装我的应用程序,我需要一种方法来区分它们之间的区别那些拥有我的应用程序的用户和其他用户 - 唯一的问题是我不能保证用户不会关闭应用程序,只有在我上传版本更新后才打开它,然后我想添加到这些设备以标记它们的不同数据将被更新版本覆盖...因此需要添加应用程序安装数据。
  • “是否可以在打开应用程序之前在安装我的应用程序时将数据保存到设备中?” -- 不,除了 APK 本身中嵌入的任何内容(例如,资产)。 “我将与安装在其上的应用程序一起交付它们”——将文件复制到设备上,作为在设备上安装应用程序的一部分。
  • 我将如何通过应用程序访问该文件?假设我在手机上安装了 apk 和另一个数据文件,我以后如何访问它以检查该文件的内容/是否存在于我的应用程序中?是否可以手动将该文件直接添加到应用程序的数据存储中?

标签: java android ios


【解决方案1】:

如果您想区分出厂设备和所有其他设备,请使用构建变体。您可以在 gradle 中向 BuildConfig 类添加一个变量,并为您正在制作的这种“预发布”以及您要运送到商店的其他构建指定一个值。然后,在相关代码中,检查您在 BuildConfig 中创建的变量的值。

【讨论】:

  • 我认为这对我没有帮助,因为我制作特殊版本变体的设备可以在我稍后发布版本时从商店下载更新,然后才打开应用程序,即新版本更新将不再具有我需要的构建变体,因为它将被更新版本覆盖,这意味着我失去了对设备的跟踪,对吗?
  • 确实如此,但在这种情况下,您可以将 BuildConfig 值导出到设备的存储中,然后从那里读取它。这样,即使在更新之间,值也将始终相同。
  • 但这只是让我回到我开始的地方,因为在应用程序安装期间您无法导出(据我所知)数据或构建配置值,并且因为有可能应用程序更新之前无法打开应用程序我仍然没有解决问题...
  • 您之前说过“我有很多移动设备,包括 IOS 和 Android,我将在它们上安装我的应用程序,我需要一种方法来区分它们之间的区别那些拥有我的应用程序的用户和其他用户”。我假设您至少可以打开该应用程序一次,因为设备在您手中。为了澄清,¿你有设备吗? ¿ 他们会重置它们(google/ios 帐户)吗?
  • 我的表达可能不正确,我有一家公司正在分发带有我的应用程序的设备,但如果我可以这样做,我实际上无法手动检查所有应用程序并打开它们我只是在应用程序启动时为该版本保存一些数据 - 这就是为什么我在寻找一种在安装过程中而不是在应用程序启动时执行此操作的方法
猜你喜欢
  • 2021-12-13
  • 2013-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-25
  • 1970-01-01
  • 2018-08-14
  • 2016-12-27
相关资源
最近更新 更多