Updating einer Anwendung OTA
Ich entwickle eine Anwendung, die auf einer Website verfügbar sein wird (wahrscheinlich auch auf dem Markt). Das Problem, das ich im Moment habe, ist, wie ich mit den Updates der App umgehen soll. Ich kann die Version mit der aktuellen vergleichen und weiß, ob ich sie aktualisieren muss. Frage ist ... wie?
Ist es eine Möglichkeit, eine APK von der Website herunterzuladen und den Installationsvorgang zu starten? Der Benutzer muss das natürlich bestätigen, aber ich möchte es nur für ihn starten können. Im Moment mache ich das:
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();
}
Aber es macht eigentlich nichts ... soll ich eine webView mit der URL öffnen? Ein neuer ausführbarer Thread? Irgendwie anders? Bitte helfen Sie:)
Pros