嗨Ive得到,即时通讯试图添加在更新一个内置的应用程序。该应用程序包含一个按钮,从我的服务器下载apk文件。服务器上的文件名命名如下:最新文件版本
“的App-1.apk”, “的App-2.apk”, “的App-3.apk” ...
按钮目前的设置是这样的:
download = (Button) findViewById(R.id.bDownload);
versionNum = 3;
download.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent downloadFromServer = new Intent();
downloadFromServer.setAction(Intent.ACTION_VIEW);
downloadFromServer.addCategory(Intent.CATEGORY_BROWSABLE);
downloadFromServer.setData(Uri.parse("http://server.com/Files/App-" + versionNum + ".apk"));
startActivity(downloadFromServer);
}
});
什么是检查服务器上最高可用应用程序版本并选择一个下载的好方法?
编辑:我如何使用Java来检查服务器目录编号最高的应用程序?
EDIT2:下面有什么,我终于实现了。不是最好的解决办法,但不够好,现在:
try {
PackageInfo appInfo = getPackageManager().getPackageInfo(getPackageName(), 0);
installedVersion = appInfo.versionName;
} catch (PackageManager.NameNotFoundException e) {
// Handle exception
}
//Latest version available on my server. Must update this value for each new release
latestVersion = 3.1;
//Convert string value of installed version to double so that it can be compared with value of latest version
installedVersionValue = Double.parseDouble(installedVersion);
download = (Button) findViewById(R.id.bDownload);
download.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
if (installedVersionValue<latestVersion) { //If latest version available on server is greater than installed version, download the latest
Intent downloadFromServer = new Intent();
downloadFromServer.setAction(Intent.ACTION_VIEW);
downloadFromServer.addCategory(Intent.CATEGORY_BROWSABLE);
downloadFromServer.setData(Uri.parse("http://server.com/Files//App-" + latestVersion + ".apk"));
startActivity(downloadFromServer);
}
else if (installedVersionValue==latestVersion) { //If user clicks the update button while they already have the latest, let them no what's up
Toast.makeText(getApplicationContext(), "You are already running the latest version (" + installedVersionValue +")",
Toast.LENGTH_LONG).show();
}
}
});
您是否询问将在服务器上执行的代码? – NormR
不,我正在寻找应用程序内的Java解决方案。我不打算对服务器做任何修改或者发生任何事情。 – Noob
服务器可以发送应用程序可以扫描的文件列表吗? – NormR