ver por hoy historial google fecha cómo completo chrome celular búsqueda actividad android navigation android-intent

android - por - ver mi historial



Intención de iniciar una actividad de navegación (4)

En mi aplicación tengo una opción para iniciar la navegación al PDI seleccionado. Básicamente lo que quiero es lanzar un navegador paso a paso desde mi aplicación. El problema es que no sé qué navegador (si lo hay) está instalado.

Entonces, la pregunta es cómo comenzar un intento mostrando primero una lista de actividades adecuadas para la navegación del usuario, permitiéndole elegir cuál le gustaría usar. También sería bueno encontrar una forma de pasar parámetros adicionales a la actividad seleccionada (esto me parece un problema, ya que las diferentes aplicaciones de navegación usan diferentes nombres para sus extras, supongo).

En caso de que no esté claro: estoy buscando una manera de MOSTRAR UNA LISTA DE APLICACIONES ADECUADAS PARA LA NAVEGACIÓN CON LA OPCIÓN DE HACER UNA PREDETERMINADA.

EDITAR: Encuentre aquí la implementación http://datamoil.blogspot.com/2011/04/android-universal-intent-to-start.html


Encontré más ventajas al usar este código (solo para mostrar las aplicaciones de navegador disponibles)

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("geo:")); if (intent.resolveActivity(getActivity().getPackageManager()) != null) { startActivityForResult(Intent.createChooser(intent, "Continues with:", CHOOSE_NAVIGATOR_ID); } else { // Handle failure... }


La mala noticia es que no hay un URI de intención estándar para la navegación.

Sí, existen los URI de google.navigation y una aplicación puede elegir admitirlo.

La mejor solución que puedo pensar es:

  • Verifica explícitamente las aplicaciones conocidas
  • Comprueba implícitamente las aplicaciones que se conectan a google.navigation: y quizás geo: (pero también obtienes aplicaciones de mapas)

Puede enumerar los posibles destinos implícitos utilizando PackageManage.queryIntentActivities


Primero utilicé mi método onTap dentro del oyente del botón:

Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("google.navigation:q=New+York+NY")); mContext.startActivity(i);

Luego, en manifiesto, simplemente usa:

<activity android:name=".LaunchGPS" android:screenOrientation="portrait"> <intent-filter> <action android:name="android.intent.action.SEND" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity>

Esto abrirá cualquier aplicación Navigator que tenga su teléfono, como VZ Navigagtor, Google o lo que sea que cargue el teléfono. Trabajó para mí la primera vez perfectamente. Espero que esto resuelva tu problema.


Tratar:

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("google.navigation:q=New+York+NY")); startActivity(intent);