2012-08-31 12 views
7
  1. Primero tengo un servidor. Reviso el servidor ¿Hay algún archivo new apk? Lo descargo e intento instalar.
  2. Si el servidor tiene new version of apk file entonces quiero actualizar mi archivo .apk.
  3. Quiero Instalar/actualizar sin interacción del usuario. ¿Es posible?
  4. Si se necesita interacción del usuario, entonces ¿Cómo puedo instalar/actualizar el archivo .apk?

No tengo ni idea mucho más sobre eso.Escuche las actualizaciones e instale desde el servidor

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); 

Pero esto no es working.WHen que la depuración no puedo ver ningún error, pero no lo hace install.How puede hacer yo that.Sorry por mala Inglés.

+3

¿Por qué no utiliza Play Store para distribuir su aplicación? Se encargará de todo esto por ti. Hasta donde yo sé, no hay forma de instalar aplicaciones sin la interacción del usuario, y no creo que pueda hacerlo programáticamente. Cualquiera de los dos sería un gran problema de seguridad. –

+0

Advertencia justa: al no usar Google Play y poner tu apk al público, es posible que alguien tome su apk, descomprima y redistribuya como propio, si así lo desean. – jnthnjns

+0

@Asok dice que tenerlo en Google Play hace alguna diferencia en ese tema? :) –

Respuesta

5

He resuelto el problema de esta manera.

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

¿Puede explicarme el código por favor? – hemant

0

Su código es casi correcto, pero acaba de crear el intento. Aún necesita para disparar para hacer ningún efecto:

startActivity(intent); 

y asegúrese de descargar la carpeta de jarviz.apk hecho a download/ de almacenamiento externo como se refieren a ella en el intento.

+1

@ WebnetMobile.com Ya compruebo. Tengo debajo este error. android.content.ActivityNotFoundException: no se ha encontrado actividad para manejar el intento {act = android.intent.action.VIEW typ = application/vnd.android.package-archive flg = 0x10000000} Avíseme. – Maidul

Cuestiones relacionadas