Share something with other android apps

How can I share something with other Android apps?
Example, in my screen I have a text field. I would like to be able to share the text content with WhatsApp by clicking on the button. Where should I start from?

You could create an Android Library (you can read more about at Creating an Android Library with Kotlin for use with Xojo) and use the following Kotlin code:

fun sendMessage(con: Any?, message: String?) {
  val newCon: Context
  if (con is Context)
      newCon = con
      throw NullPointerException()

  // Creating intent with action send 
  val intent = Intent(Intent.ACTION_SEND) 
  // Setting Intent type 
  intent.type = "text/plain"
  // Setting whatsapp package name 
  // Give your message here 
  intent.putExtra(Intent.EXTRA_TEXT, message) 
  try {
      // startActivity wants a context parameter before the indent parameter
      startActivity(newCon, intent, null)
  } catch (e: ActivityNotFoundException) {
      // Define what your app should do if no activity can handle the intent.

And the Xojo Declare should look kind like this:

Declare Sub sendMessage Lib "com.example.utility.regex" (context As Ptr, message As CString)
sendMessage(App.AndroidContextHandle, "Hello World")

Give it a try, not tested, but should be the way to go.

1 Like


I was doing some testing and found this solution already integrated into the framework:

dim mbSharing as new MobileSharingPanel
mbSharing.ShareText("Test my text sharing")
1 Like