2011-01-22 25 views
7

¿Es posible instalar un apk programáticamente en segundo plano o el usuario tiene que aceptar la instalación?Android install apk programmatically

Mi situación es que deseo que todos mis empleados tengan el mismo conjunto de aplicaciones instaladas.

Por supuesto, pueden instalar aplicaciones por sí mismos, pero quiero que todos tengan al menos algunas aplicaciones instaladas.

No estoy hablando de instalar aplicaciones del mercado.

Respuesta

11

solution in this link

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

¿me puede dar una breve idea de cómo puedo actualizar mi aplicación sin ponerlo en el mercado de Android? ... quiero actualizar automáticamente cuando la actualización esté disponible en mi sitio ... así que la aplicación la descargue y la actualice o la vuelva a instalar ... –

0
adb install <apk name> 

mediante declaración anterior podemos instalar apk en devices.For más información install apk

+0

¿Qué? ¿No es esto solo para el depurador? – Felix

+0

Creo que Felix intenta que el APK se instale automáticamente. – John

0

algunos más requisitos serían útiles. ¿Se requiere que el usuario tenga estas aplicaciones? ¿Quieres que las aplicaciones sean actualizables en el mercado? aquí está mi pensamiento en lugar de esa información ...

el problema de no pasar por el mercado es que no recibirán avisos de actualización y no verán esas aplicaciones en la lista "mis aplicaciones" en el mercado. Me gustaría pensar que ... probablemente no es lo que el usuario quiere, a menos que esté instalando, por ejemplo, aplicaciones empresariales que no están en el mercado de todos modos.

podría crear, por ejemplo, una aplicación de "aplicaciones recomendadas". puede mostrar su lista de aplicaciones, e indicar cuáles están instaladas, y un enlace a la página de instalación del mercado. esto, por supuesto, no los obliga a tener la aplicación instalada, pero esto es en realidad algo más amigable que hacer.

tampoco hay nada que te impida crear tu propia aplicación de mercado. las herramientas están todas allí en el SDK. Personalmente, odiaría esto como usuario y preferiría la integración más ligera en la parte superior del mercado existente que mencioné anteriormente.

+0

Bueno, las aplicaciones nunca deberían estar en el mercado ya que son específicas de mi empresa. Las aplicaciones podrían ser; una especie de aplicación CRM y una aplicación de gestión del tiempo. Entonces la opción de pasar por el mercado no es una opción. Actualizar notificaciones y demás será un desafío diferente. Por ahora necesito poder instalar las aplicaciones de forma remota. – Felix

0

¡Es una gran preocupación de seguridad y no creo que Android lo permita!

Al menos, no permitiría que ninguna utilidad o servicio instalara ninguna aplicación sin informarme.

La mejor manera sería instalar la consola con el comando adb install <apk name>. Puede tener APK en un servidor remoto y todos los empleados tienen que instalarlos y enviarle la salida de la consola.

+0

O puede contratar a alguien para que haga la aplicación de instalación para sus empleados. Instalaría automáticamente aplicaciones predefinidas. Sin embargo, los usuarios obtendrían información sobre qué aplicaciones se instalarán. – sandalone

+0

Android permite la instalación y desinstalación de APK utilizando intents: http://stackoverflow.com/questions/6813322/install-uninstall-apks-programmatically-packagemanager-vs-intents –

1

Permítanme aclarar esto, ¿desea instalar de forma remota una aplicación en una gran cantidad de teléfonos y hacer que se instale? No creo que eso sea posible. Si lo fuera, ¡piensa en las posibilidades del virus!

I piensa puede enviar el APK por correo electrónico a los teléfonos y que el usuario use algo como Apps-Installer para instalarlo, pero he oído hablar de problemas con ese método. Para su situación, recomendaría intentarlo.

La única otra alternativa que puedo ver además de ponerlos en el mercado sería recolectar manualmente todos los teléfonos que desee y ponerlos manualmente en cada uno con el ADB, pero eso sería enorme dolor.

+0

Bueno, pero no exactamente, los teléfonos van a tener una aplicación instalada en 'em; decir una aplicación llamada ApplicationInstaller. Esta aplicación buscará en una base de datos (remota) para ver si hay una nueva aplicación para instalar. Si hay una nueva aplicación para instsall, ApplicationInstaller instalará la aplicación mediante programación. Esa es la idea. – Felix

+1

@Felix: Creo que es posible, no sin el permiso explícito de los usuarios para cada aplicación. – John

+0

Sí, eso espero. Definirá. Ser y emocionante sistema para construir (Tengo la mayoría de las partes abajo, excepto para instalar la aplicación) – Felix

Cuestiones relacionadas