Я разрабатываю приложение, которое будет доступно на веб-сайте (возможно, на рынке). Проблема, с которой я сталкиваюсь на данный момент, заключается в том, как обрабатывать обновления приложения. Я знаю, как сверить версию с текущей и знаю, нужно ли ее обновлять. Вопрос... как?
Есть ли способ загрузить 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-адресом? Новый исполняемый поток? Любым другим путем? Пожалуйста помоги :)
Ваше здоровье