2012-08-31 21 views
7
  1. Per prima cosa ho un server. Controllo server c'è qualche file new apk che ho scaricato e provo a installare.
  2. Se il server ha new version of apk file, desidero aggiornare il file .apk.
  3. Voglio Installa/aggiorna senza interazione utente. È possibile?
  4. Se è necessaria l'interazione dell'utente, come posso installare/aggiornare il file .apk.

Non ne ho idea molto di più.Ascolta gli aggiornamenti e installa dal server

Intent intent = new Intent(Intent.ACTION_VIEW); 
      intent.setDataAndType(Uri.fromFile(new File(Environment.getExternalStorageDirectory() + "/download/" + "jarviz.apk")), "application/vnd.android.package-archive"); 
      intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 

Ma questo non è working.WHen ho il debug non riesco a vedere alcun errore ma non è così install.How posso fare that.Sorry per cattivo inglese.

+3

Perché non stai utilizzando il Play Store per distribuire la tua app? Si prenderà cura di tutto questo per te. Per quanto ne so, non c'è modo di installare app senza l'interazione dell'utente, e non penso che tu possa farlo a livello di programmazione. O sarebbe un enorme problema di sicurezza. –

+0

Fair warning: non usando Google Play e mettendo il tuo apk in giro per il pubblico, è possibile che qualcuno prenda il tuo apk, lo decomprimi e lo ridistribuisca come se fosse il loro, se lo volessero. – jnthnjns

+0

@Asci che dici di averlo su Google Play fa alcuna differenza in quell'argomento? :) –

risposta

5

Ho risolto il problema in questo modo.

String vsName=Environment.getExternalStorageDirectory().getAbsolutePath()+"/download/"; 
File file = new File(vsName, "jarviz.apk"); 
System.out.println(":"+file); 
Intent install=new Intent(Intent.ACTION_VIEW); 
install.setDataAndType(Uri.fromFile(file), "application/vnd.android.package-archive"); 
install.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(install); 
+0

Puoi spiegarmi il codice, per favore? – hemant

0

Il tuo codice è quasi corretto ma hai appena creato l'intento. È tuttavia necessario sparare per fare alcun effetto:

startActivity(intent); 

e assicuratevi di scaricare la cartella jarviz.apk anzi a download/ su storage esterno, come si fa riferimento ad esso nell'intento.

+1

@ WebnetMobile.com Ho già controllato. Ho ottenuto questo errore. android.content.ActivityNotFoundException: Nessuna attività trovata per gestire Intent {act = android.intent.action.VIEW typ = application/vnd.android.package-archive flg = 0x10000000} Fammi sapere. – Maidul

Problemi correlati