Antes que nada, gracias por su respuesta.
@José J. Aguilar , se que Whatsapp no tiene esa característica, así que pense en la liberia de Accesibilidad que cite en el pimer post. De hecho pense tambien en algo asi como la libreria SendInput (que emula pulsaciones), solo que no se puede usar desde un servicio (si es posible, se puede usar el codigo de la liberia Whatsapp, para abir el whatsapp directamente con la imagen esperando al boton enviar).
El ejemplo de la liberia de accesibilidad es.
Sub btnSend_Click
Si txtMsg.Text.Length> 0 Entonces
Dim number As String = "+5215526098764" 'aquí va el número de teléfono del contacto
número = número. Reemplazar ("+", ""). Reemplazar ("", "")
'Mensaje tenue como cadena = txtMsg.Text.trim
'Dim numero As String = number
Dim Intent1 As Intent
Dim pm como PackageManager
Intent1 = pm.GetApplicationIntent ("com.whatsapp")
Si Intent1.IsInitialized entonces
'Aqui pienso que iria el Intent de Whatsapp o el codigo de liberia que abre el dialogo de enviar imagen
Si WhatsApp está instalado ...
Dim Intent2 As Intent
Intent2.Initialize (Intent2.ACTION_VIEW, $ "https://wa.me/${numero}?text=${messaggio}" $)
'<uses-sdk android: minSdkVersion = "21" android: targetSdkVersion = "28" />
StartActivity (Intent2)
Más
ToastMessageShow ("WhatsApp no está instalado", True)
Regreso
Terminara si
Terminara si
CallSub (AccService, "SendWhatsAppMsg")
En el segundo intento es donde creo yo que deberia de ir el codigo para cargar la imagen.
@oparra , estoy tratando pero no logo hacerlo funcionar, cargue el FileProvider, pero ninguno de mis intentos me ha funcionado:
Sub btnSend_Click
Si txtMsg.Text.Length> 0 Entonces
Dim number As String = "+5217442098810" 'aquí va el número de teléfono del contacto
número = número. Reemplazar ("+", ""). Reemplazar ("", "")
'Dim messaggio As String = "Prueba de Whatsapp sin interfaz grafica"' txtMsg.Text.trim
'Dim numero As String = number
Dim Intent1 As Intent
Dim pm como PackageManager
Intent1 = pm.GetApplicationIntent ("com.whatsapp")
Si Intent1.IsInitialized entonces
'' '' '
'Prueba 1'
Intención tenue como intención
intent.Initialize (intent.ACTION_SEND, "")
intent.SetType ("imagen / jpg")
Dim img As String = "myimage.jpg"
intent.SetComponent ("com.whatsapp / .ContactPicker")
intent.PutExtra ("android.intent.extra.STREAM", CreateFileProviderUri (Starter.SharedFolder, img))
StartActivity (intento)
''
'Dim FileToSend As String = "Alejandria.jpg"
'File.Copy (File.DirAssets, FileToSend, Starter.Provider.SharedFolder, FileToSend)
''
'
'Dim i As Intent
'
'i.Initialize (i.ACTION_SEND, "")
'i.PutExtra ("android.intent.extra.TEXT", "Hola")
'i.SetType ("texto / sin formato")
'
'
'' Dim u As Uri
'' u.Parse ("file: //" & File.Combine (File.DirRootExternal, NomeImmagine))
'' i.PutExtra ("android.intent.extra.STREAM", u)
'
'i.PutExtra ("android.intent.extra.STREAM", Starter.Provider.GetFileUri (FileToSend))
'
''
'
'i.SetType ("image / jpeg")
'Dim jo Como JavaObject = i
'jo.RunMethod ("setPackage", Array ("com.whatsapp"))
'StartActivity (i)
'Fin prueba 1'
'
'' pueba 2
'Dim en como intento
'in.Initialize (in.ACTION_SEND, "")
'in.SetType ("text / plain")' no está relacionado con el archivo en sí.
'in.PutExtra ("android.intent.extra.STREAM", CreateFileProviderUri (Starter.shared, "share.jpeg"))
'in.WrapAsIntentChooser ("Compartir")
'
'in.Flags = 1
'StartActivity (en)
'' finprueba 2
'' Si WhatsApp está instalado ...
'Dim Intent2 As Intent
'Intent2.Initialize (Intent2.ACTION_VIEW, $ "https://wa.me/${numero}?text=${messaggio}" $)
'
'' <uses-sdk android: minSdkVersion = "21" android: targetSdkVersion = "28" />
'StartActivity (Intent2)
Más
ToastMessageShow ("WhatsApp no está instalado", True)
Regreso
Terminara si
Terminara si
CallSub (AccService, "SendWhatsAppMsg")
End Sub
Ninguno de los anteriores (más otras pruebas que él borrado) me han funcionado.
Segun yo la libreria de accesibilidad emula la presion del boton enviar en whatsapp, por lo que si puedes abrir la imagen al destinatario con la libreria MEShare o con Whatsapp y la accesibilidad diera en enviar, el trabajo estaria hecho.
Muchas gracias a ambos por sus respuestas.
Edito: En el codigo del post # 2, abre un intento para enviar un whatsapp con una imagen (no lo he hecho funcionar, pero veo el codigo), el detalle es que hay que elegir incluso el destinatario.
La liberia whatsapp deja abrir un intento para enviar una imagen, pero igual abre el selector de contactos.
Lo que necesito es abrir el whatsapp con una imagen cargada y lista para enviar a un numero especifico. No la pienso subir al google play, asi que no creo tener problemas sobre violar los terminos al hacer un "robot" en potencia.
El codigo de accesibilidad ya lo he logrado entender, ahora solo me falta el intent que abra la imagen lista para ser enviada a un contacto en especifico.