tengo studio saber que programacion para móviles google edición duo desarrollo curso como code cambiar aplicaciones android dependencies

studio - ¿Cómo hacer una aplicación de Android que dependa de otra aplicación?



que es duo de google (5)

Creo que seguir el patrón descrito en esta publicación en el Blog del desarrollador de Android te ayudará. http://android-developers.blogspot.com/2009/01/can-i-use-this-intent.html Como TerryProbert señala que si sabe que la intención no está disponible, solicite al usuario que instale la aplicación que falta.

Si creo una aplicación que depende de otra aplicación o aplicaciones (p. Ej., Las aplicaciones de Facebook y Twitter), pero no están instaladas, ¿hay algún método para verificar esas dependencias e instalarlas al mismo tiempo que mi propia aplicación?


Empieza por esto:

Intent mediaIntent = new Intent("com.example.intent.action.NAME"); // add needed categories List<ResolveInfo> listResolveInfo = getPackageManager().queryIntentServices(mediaIntent, 0); if (listResolveInfo.size() != 0) { //normal behavior } else { //install what you need }

Te doy ejemplo de servicios de consulta. Si desea verificar las actividades, llamará a queryIntentActivities ().


Esto es lo que uso para devolver la primera actividad de misión que existe:

try { Class<?> missionClass = Class.forName(mPackageName+".Mission"+mission); Method missionDescription; missionDescription = missionClass.getMethod("missionDescription"); mMissionDescription = (String) missionDescription.invoke(null); if (mMissionDescription.length() > 0) { nextMission = mission; break; } } catch (Exception e) { //DEBUG*/Log.v(this.getClass().getName(), "onResume: Mission no "+mission+" not found: "+e.getMessage()); }

Cada misión se lleva a cabo en una clase separada, derivada de una clase base de la Misión. Las clases derivadas se llaman Mission1, Mission24 etc.

No todas las misiones están definidas.

La clase base tiene una clase abstracta missionDescription que devuelve una cadena que describe la misión.

Este código está dentro de un bucle, por lo tanto, prueba la misión = 1 a 99, tratando de llamar a missionDescription. Devuelve cuando se devuelve la Descripción de la primera misión encontrada.


Hice esto en mi aplicación, que requiere la instalación del escáner zxing. Usted querrá esto dentro de su onclick o onuch:

try{ Intent intent = new Intent("com.google.zxing.client.android.SCAN"); intent.setPackage("com.google.zxing.client.android"); startActivityForResult(intent, 0); } catch (Exception e) { createAlert("Barcode Scanner not installed!", "This application uses " + "the open source barcode scanner by ZXing Team, you need to install " + "this before you can use this software!", true); }

que llama

public void createAlert(String title, String message, Boolean button) { // http://androidideasblog.blogspot.com/2010/02/how-to-add-messagebox-in-android.html AlertDialog alertDialog; alertDialog = new AlertDialog.Builder(this).create(); alertDialog.setTitle(title); alertDialog.setMessage(message); if ((button == true)) { alertDialog.setButton("Download Now", new DialogInterface.OnClickListener() { public void onClick(DialogInterface arg0, int arg1) { Intent browserIntent = new Intent( Intent.ACTION_VIEW, Uri.parse("market://search?q=pname:com.google.zxing.client.android")); startActivity(browserIntent); } }); } alertDialog.show(); }

Luego, después de ordenar todo ese código, me doy cuenta de que pediste que se instalara al mismo tiempo que tu aplicación . No estoy seguro de si debo publicar este código, pero puede ser útil


Respuesta corta: No, no puede instalar automáticamente otras aplicaciones como dependencias.

Respuesta más larga:

Android Market no le permite declarar otras aplicaciones para instalar como una dependencia. Como sistema, Market parece estar diseñado para instalaciones de una sola aplicación, no para los gráficos de mega dependencia de estilo distro de Linux.

En el tiempo de ejecución , puede probar las aplicaciones instaladas y despachar a su usuario al Mercado si es así. Vea las técnicas sugeridas por @QuickNick (probando si una aplicación está instalada) y @TerryProbert (punting to market) si eso es lo que quiere.

Su mejor opción es probablemente diseñar su aplicación para degradar con gracia si las dependencias no están disponibles, y sugerir (o insistir) que se dirijan al mercado para instalarlas.