如果有任何可用的更新版本,我正在尝试在登录前强制更新我的应用程序。我可以检查更新并能够在设备中安装应用程序,我用更新的版本替换我的旧版本,在所有这些过程结束时,我想自动打开/调用我的应用程序,而不是手动打开我的应用程序(我可以手动打开我的应用程序),我不能使用sqlite数据库来维护来自应用程序或任何其他会强制调用我的应用程序的APK的数据。
任何建议都是非常值得赞赏的。
谢谢。
正如我在问题中提到的,我可以通过从我的服务器安装新的apk文件来更新应用程序,甚至我知道android市场会处理安装并请求调用应用程序,但在我的情况下,我必须在我的暂存服务器上做同样的工作,以便通过进程测试我的应用程序。我可以从我的暂存服务器上检查更新和安装应用程序,到更新后的apk安装,我的旧版本可以卸载,而且我不需要调用我的新版本应用程序。
任何建议都是值得赞赏的。
发布于 2012-12-07 06:00:15
您可以轻松地从应用程序中调用web服务,以确定是否有新版本可用,并指示用户通过Android浏览器下载它。这种方法的一个优点是对升级速度有一定的控制,而不是市场支持的“大爆炸”方法。
就像这样
versionCode来自清单版本的地方。然后,我会让服务返回空白(没有更新)或者用户应该被定向到的URL来获得新的apk。
您可以从
getPackageManager().getPackageInfo(getPackageName(), 0).versionCode
请触发访问URL的新意图。然后将用户发送到下载apk的浏览器。
发布于 2017-07-03 13:29:00
首先,应用程序需要有一个api,如何跟踪用户版本是否已经过时。
例如,您正在将您的应用程序当前版本发送到这样的API:
String version = String.valueOf(BuildConfig.VERSION_CODE);
如果response.body().isUpdateRequired()是真的,那么您需要调用这个allert:
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();
https://stackoverflow.com/questions/13757619
复制相似问题