2013-09-27 22 views
-1

我有一个程序,只有当您有注册信息时才有效。我不会把它放在谷歌播放上,因为如果人们下载了程序并安装了它并且无法使用它,我想我会得到低票。Android非公开程序更新

因此,我有一个网页,我可以下载.apk文件,然后进行安装。我的问题是关于如何在顺利的过程中更新程序。

这个问题我已经是我的小版本之间,当我下载了Android OS追加-1然后-2然后-3到下载名称较新的apk文件。这很好,但我注意到有些手机在安装其中的- s时遇到问题。所以我必须进入一个文件管理程序,然后重命名文件,然后我可以安装而不会出现问题。然而,这超出了我对普通用户的技术范围。

理想情况下,我想让升级过程变得简单,也许从应用程序本身。这可能吗?我控制网络服务器,我可以在那里有一个文件,显示最新版本,以便程序可以知道它何时可以升级,以及它需要下载的apk来进行升级。我只是不知道是否需要在我的程序中指定特定的意图以允许由android控制的升级,或者如果我下载该文件然后启动它,并且如果我在升级该程序的同时升级它的话。例如。 Windows通常锁定.exe文件,所以你不能这样做。

+0

如果有人有兴趣关于如何做一个不错的下载进行升级,我会建议:http://stackoverflow.com/questions/3028306/download-a-file-with-android-and-showing-the- progress-in-a-progressdialog –

回答

1

您的应用程序可能会定期查询您的Web服务器,以检查并下载更新的.apk文件。一旦一个新的下载更新,可以提示用户与下面的意图安装:

String updatedFile = "PATH_TO_APK"; 
Intent intent = new Intent(Intent.ACTION_VIEW) 
intent.setDataAndType(Uri.fromFile(new File(updatedFile)), "application/vnd.android.package-archive"); 
startActivity(intent); 

更多here。您可以在安装之前重命名应用程序内的文件,以克服某些手机的命名问题。

+0

谢谢,我会稍后再试,如果有效,我会接受你的回答。 –

+0

很酷。请注意,我刚更改了代码,因为我发现了一个错误! – ashatte

+0

这个工作适合你吗? – ashatte