我正在开发一个应用程序,该应用程序可以从网站(市场也可以)获得。我目前遇到的问题是如何处理应用程序的更新。我知道如何检查当前版本的版本,并知道是否需要更新它。问题是...怎么样?更新应用程序OTA
有没有一种方法可以从网站下载APK并开始安装过程?用户将不得不确认,但我只想为他启动。目前我正在这样做:
private void doUpgrade() {
// TODO Auto-generated method stub
Builder builder = new AlertDialog.Builder(this);
builder.setTitle(getString(R.string.upgrade));
builder.setIcon(R.drawable.help);
builder.setMessage(getString(R.string.needUpgrade));
builder.setPositiveButton(getString(R.string.ok), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Map<String, String> data = new HashMap<String, String>();
try {
HttpResponse re = Registration.doPost("http://www.android-town.com/appRelease/AndroidTown.apk",data);
int statusCode = re.getStatusLine().getStatusCode();
closeApp();
} catch (ClientProtocolException e) {
e.printStackTrace();
Toast.makeText(getApplicationContext(), getString(R.string.noURLAccess), Toast.LENGTH_SHORT).show();
closeApp();
} catch (IOException e) {
e.printStackTrace();
Toast.makeText(getApplicationContext(), getString(R.string.noURLAccess), Toast.LENGTH_SHORT).show();
closeApp();
}
}
});
builder.setNegativeButton(getString(R.string.cancel), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
dialog.cancel();
closeApp();
}
});
builder.show();
}
但它并没有真的做任何事......我应该打开一个带有URL的webView?一个新的可运行线程?任何其他方式?请帮助:)
干杯
这里有回声吗? ;) – 2010-04-06 15:53:18
我的理解是,你建议他自己下载apk,然后从磁盘安装它。 – alexanderblom 2010-04-06 17:40:47