Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Tino en 24 de Enero 2016, 23:36

Título: Compartir contenido texto, multimedia en whatsapp con android intent ACTION_SEND
Publicado por: Tino en 24 de Enero 2016, 23:36
Hola. Trato de compartir informacion de una aplicacion a traves de Action Send. Solamente me da opcion de hacerlo a traves de correo electronico. Me gustaria que me diese opcion con whatsApp. El código es el siguiente:

Código: [Seleccionar]
case R.id.menu_contextual_compartir:
        editarPersona((int)info.id);
        String comp = extras.getString("dcompañero");
      String diaS =extras.getString("dseleccionado");
          String diaC = extras.getString("dcambio");
        String texto = "Hola "+comp+ " el cambio está hecho, tu me haces el "
        +diaS+ ", te lo devuelvo el "+diaC+". Un saludo." ;
        Intent sendIntent= new Intent();
        sendIntent.setAction(Intent.ACTION_SEND);
        sendIntent.putExtra(Intent.EXTRA_TEXT, texto);
        sendIntent.setType("Text/plain");
        startActivity(sendIntent);


En el manifest he colocado esto en la actyvity

Código: [Seleccionar]
<activity
            android:name="com.proyectosTino.mcalendar.ListaCambios"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.SEND" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:mimeType="Text/plain"/>
            </intent-filter>
        </activity>
.

He probado la aplicacion en el movil y nada.

Por favor volverme a orientar. gracias
Título: Re:Compartir contenido texto, multimedia en whatsapp con android intent ACTION_SEND
Publicado por: Alex Rodríguez en 26 de Enero 2016, 09:38
Hola habría varias maneras de hacerlo

Con un Custom URL Scheme si tienes un sitio web y quieres abrir una conversación de whastsapp con cierto mensaje pre-relleno bastaría abrir whatsapp://send?text=seguido del texto que quieres enviar por ejemplo

whatsapp://send?text=Recordar que hay una reunión esta noche a las nueve

Esto hará que se le abra whatsapp al usuario, que elija el contacto y que aparezca el texto ya relleno con el texto indicado

Con un Android intent system hay que crear un intent para compartir texto y se mostrará whatsapp como seleccionable para el usuario

Código: [Seleccionar]
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, "This is my text to send.");
sendIntent.setType("text/plain");
startActivity(sendIntent);

Si quieres saltarte que el usuario tenga que elegir basta añadir sendIntent.setPackage("com.whatsapp");
 antes de startActivity(sendIntent);

Esto también se puede usar para enviar elementos multimedia

Saludos
Título: Re:Compartir contenido texto, multimedia en whatsapp con android intent ACTION_SEND
Publicado por: Tino en 30 de Enero 2016, 14:05
Hola Alex, muchisimas gracias por tu tiempo y dedicacion.
Si te das cuenta el codigo que me has sugerido es el mismo que yo he realizado . Pero al tratar de compartir (y estoy utilizando de emulador el movil) solo me sale gmail, drive, email y la propia aplicacion. No el whatsApp Creo que el filtro que he introducido en el Manifest esta bien. No se donde buscar solucion.
Gracias de nuevo. Un saludo