【发布时间】:2015-06-01 10:15:56
【问题描述】:
我们的 Android 应用程序每 5 分钟在后台自动检查一次更新,并从我们的下载服务器下载最新的 .apk 文件。
然后它使用以下方法启动安装:
public static void installDownloadedApplication(Context context) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
File sdcard = Environment.getExternalStorageDirectory();
File file = new File(sdcard, Constants.APPLICATION_CODE+".apk");
Uri uri = Uri.fromFile(file);
intent.setDataAndType(uri, "application/vnd.android.package-archive");
context.startActivity(intent);
}
这会提示最终用户(使用标准的 Android 操作系统应用程序安装提示)安装或取消应用程序 apk。
如果我们只有一个应用程序需要更新,那么无论该应用程序中的上述代码运行多少次,Android 安装提示都只会出现一次。
我们遇到的问题是,如果用户长时间离开他的 Android 设备并且他的多个应用程序需要同时自动更新,则此代码每 5 分钟为每个应用程序运行一次,但现在多个 Android第二个尝试安装的应用程序会出现安装提示。
示例 1:只有应用程序 X 获得更新,用户离开它 15 分钟,只出现一个应用程序 X 的安装提示。
示例 2:应用程序 X 和 Y 都获得更新,用户离开 15 分钟,应用程序 X 出现 1 个安装提示,但应用程序 Y 出现 3 个安装提示
任何想法可能导致示例 2 中的问题?
谢谢
【问题讨论】:
标签: android android-intent apk