2011-06-20 18 views
11

He leído esto (How do I handle the browser's "share page" intent in android?) que puedo obtener en el enlace Compartir para detectar mi aplicación, ahora ¿cómo consigo que Activity reciba la URL?¿Cómo recibo una "URL compartida" desde el navegador?

respuesta Encontrado:

Intent intent = getIntent(); 
if (savedInstanceState == null && intent != null) { 
    Log.d(TAG, "intent != null"); 

    if (intent.getAction().equals(Intent.ACTION_SEND)) { 
     Log.d(TAG, "intent.getAction().equals(Intent.ACTION_SEND)"); 
     String message = intent.getStringExtra(Intent.EXTRA_TEXT); 
     messageText.setText(message); 
     receiverText.requestFocus(); 
    } 
} 

Respuesta

11

Cuando la aplicación recibe la página de "Compartir" desde el navegador, también se puede obtener el título de la página web:

String subject = intent.getStringExtra(Intent.EXTRA_SUBJECT); 
5

Una vez que haya creado un filtro de intención, su actividad debería aparecer en la lista de actividades que escuchan el enlace de acción. A continuación, utilice esto en su actividad:

String url = getIntent().getStringExtra(Intent.EXTRA_TEXT); 
+0

Gracias, esto es lo que he puesto en mi OnCreate para mi actividad principal: 'Uri myI = getIntent(). getData(); Cadena myItext = myI.toString(); mEditText.setText (myItext); ' Pero fuerza se cierra una vez que trato de convertirlo a cadena (línea 2) – James

+0

@James Oh mi mal, cuando respondí esto no tuve acceso a un emulador/dispositivo para probarlo. Iba a sugerir utilizar una cadena adicional, pero encontraste la respuesta. Buen trabajo – Reno

Cuestiones relacionadas