【问题标题】:Auto Update APK version on Android PhoneAndroid 手机上的自动更新 APK 版本
【发布时间】:2011-06-20 06:07:32
【问题描述】:

如果用户从市场上将我的应用程序(.apk 文件)下载到他们的安卓手机上,

  1. .apk 文件在他们手机上的最终位置是什么?
  2. 当他们运行我的应用程序时,如果我检测到该应用程序有新的更高版本可用,是否可以从他们正在运行的应用程序中下载最新版本一个 ftp 链接(我现在可以以编程方式执行此操作),然后用较新版本替换他们现在正在运行的现有 .apk。 [完全不确定这个。]
  3. 现有应用程序在运行时是否全部在内存中,这样当我下载新版本时,我可以删除它的 apk 文件而不会被锁定并用以后的构建替换它,然后重新启动应用程序?

处理这种情况的最佳方法是什么?我有一个应用程序,我想确保用户在使用它之前使用最新版本。

【问题讨论】:

  • 有多少问题?我已经尝试过格式化,但看起来还是有点难以阅读。

标签: android auto-update


【解决方案1】:

应用程序存储在/data/app 请参阅https://android.stackexchange.com/questions/3002/where-in-the-file-system-are-applications-installed

恕我直言,您应该让市场为您管理更新,无需费心手动做任何事情,作为用户,如果某些应用未经我同意开始在我的手机上下载内容,我会“生气”,尤其是在国外时(一些用户正在为他们的数据付费)。

【讨论】:

  • 我大概会提示用户,在我实际下载之前请求允许下载最新更新。在任何情况下,您都不必在给定的时间点下载更新;你可以选择退出它,可以这么说。那么,如果用户同意下载,是否可以下载新的 apk 并替换 /data/app 中当前运行的那个?我宁愿这样做而不是将它们倾销到市场上,但如果执行上述操作不收费,我可以这样做。
  • 我不知道可行性,我的意思是不要打扰,市场可以为您做到这一点,并且可能会做得更好。另请参阅stackoverflow.com/questions/4308473/… 了解更多信息。
【解决方案2】:

如果此用户已root手机,您可以使用此答案中提供的代码:Android silent apk update

如果没有,则必须提示用户,并且您可以启动一个带有意图的活动(像往常一样),但也可以在调用 startActivity(intent) 之前调用 intent.setDataAndType(Uri.fromFile(...)) .

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-23
    • 1970-01-01
    • 1970-01-01
    • 2021-05-03
    • 2021-07-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多