首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >强制更新我的android应用程序

强制更新我的android应用程序
EN

Stack Overflow用户
提问于 2012-12-07 05:49:04
回答 2查看 6K关注 0票数 3

如果有任何可用的更新版本,我正在尝试在登录前强制更新我的应用程序。我可以检查更新并能够在设备中安装应用程序,我用更新的版本替换我的旧版本,在所有这些过程结束时,我想自动打开/调用我的应用程序,而不是手动打开我的应用程序(我可以手动打开我的应用程序),我不能使用sqlite数据库来维护来自应用程序或任何其他会强制调用我的应用程序的APK的数据。

任何建议都是非常值得赞赏的。

谢谢。

正如我在问题中提到的,我可以通过从我的服务器安装新的apk文件来更新应用程序,甚至我知道android市场会处理安装并请求调用应用程序,但在我的情况下,我必须在我的暂存服务器上做同样的工作,以便通过进程测试我的应用程序。我可以从我的暂存服务器上检查更新和安装应用程序,到更新后的apk安装,我的旧版本可以卸载,而且我不需要调用我的新版本应用程序。

任何建议都是值得赞赏的。

EN

回答 2

Stack Overflow用户

发布于 2012-12-07 06:00:15

您可以轻松地从应用程序中调用web服务,以确定是否有新版本可用,并指示用户通过Android浏览器下载它。这种方法的一个优点是对升级速度有一定的控制,而不是市场支持的“大爆炸”方法。

就像这样

http://example.com/update.jsp?versionCode=3

versionCode来自清单版本的地方。然后,我会让服务返回空白(没有更新)或者用户应该被定向到的URL来获得新的apk。

您可以从

代码语言:javascript
运行
复制
        getPackageManager().getPackageInfo(getPackageName(), 0).versionCode 

请触发访问URL的新意图。然后将用户发送到下载apk的浏览器。

票数 1
EN

Stack Overflow用户

发布于 2017-07-03 13:29:00

首先,应用程序需要有一个api,如何跟踪用户版本是否已经过时。

例如,您正在将您的应用程序当前版本发送到这样的API:

代码语言:javascript
运行
复制
String version = String.valueOf(BuildConfig.VERSION_CODE);

如果response.body().isUpdateRequired()是真的,那么您需要调用这个allert:

代码语言:javascript
运行
复制
AlertDialog.Builder alertDialog = new AlertDialog.Builder(SplashActivity.this);
                alertDialog.setTitle("Please update your app");
                alertDialog.setMessage("This app version is not supported any longer. Please update your app from the Play Store.");
                alertDialog.setPositiveButton("UPDATE NOW", new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        final String appPackageName = getPackageName();
                        try {
                            startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + appPackageName)));
                        } catch (android.content.ActivityNotFoundException anfe) {
                            startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=" + appPackageName)));
                        }
                    }
                });
                alertDialog.show();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13757619

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档