अन्य ऐप्लिकेशन को आसान डेटा भेजें

Android, इंटेंट और उनसे जुड़े एक्स्ट्रा का इस्तेमाल करता है. इससे उपयोगकर्ता अपने पसंदीदा ऐप्लिकेशन का इस्तेमाल करके, जानकारी को तुरंत और आसानी से शेयर कर पाते हैं.

Android, उपयोगकर्ताओं को ऐप्लिकेशन के बीच डेटा शेयर करने के दो तरीके उपलब्ध कराता है:

  • Android की शेयरशीट को मुख्य रूप से, आपके ऐप्लिकेशन से बाहर और/या सीधे तौर पर किसी दूसरे उपयोगकर्ता को कॉन्टेंट भेजने के लिए डिज़ाइन किया गया है. उदाहरण के लिए, किसी दोस्त के साथ यूआरएल शेयर करना.
  • Android इंटेंट रिज़ॉल्वर, अच्छी तरह से तय किए गए टास्क के अगले चरण में डेटा पास करने के लिए सबसे सही है. उदाहरण के लिए, आपके ऐप्लिकेशन से PDF फ़ाइल खोलना और उपयोगकर्ताओं को उनकी पसंद का व्यूअर चुनने की अनुमति देना.

इंटेंट बनाते समय, यह तय किया जाता है कि इंटेंट को कौनसी कार्रवाई करनी है. Android, एक गतिविधि से दूसरी गतिविधि में डेटा भेजने के लिए ACTION_SEND ऐक्शन का इस्तेमाल करता है. भले ही, प्रोसेस की सीमाएं अलग-अलग हों. आपको डेटा और उसके टाइप के बारे में बताना होगा. सिस्टम, डेटा पाने वाली गतिविधियों की पहचान अपने-आप करता है. इसके बाद, उन्हें उपयोगकर्ता को दिखाता है. इंटेंट रिज़ॉल्वर के मामले में, अगर सिर्फ़ एक गतिविधि इंटेंट को हैंडल कर सकती है, तो वह गतिविधि तुरंत शुरू हो जाती है.

Android शेयरशीट का इस्तेमाल क्यों करें

हमारा सुझाव है कि आप Android Sharesheet का इस्तेमाल करें, ताकि आपके उपयोगकर्ताओं को सभी ऐप्लिकेशन पर एक जैसा अनुभव मिल सके. अपने ऐप्लिकेशन के शेयर टारगेट की सूची न दिखाएं या शेयरशीट के अलग-अलग वर्शन न बनाएं.

Android Sharesheet की मदद से, उपयोगकर्ता सही व्यक्ति के साथ जानकारी शेयर कर सकते हैं. साथ ही, उन्हें काम के ऐप्लिकेशन के सुझाव भी मिलते हैं. ये सभी काम सिर्फ़ एक टैप से किए जा सकते हैं. शेयरशीट, कस्टम समाधानों के लिए उपलब्ध नहीं टारगेट का सुझाव दे सकती है. साथ ही, यह लगातार रैंकिंग का इस्तेमाल करती है. ऐसा इसलिए है, क्योंकि शेयरशीट, ऐप्लिकेशन और उपयोगकर्ता की गतिविधि की जानकारी को ध्यान में रख सकती है. यह जानकारी सिर्फ़ सिस्टम के लिए उपलब्ध होती है.

Android की शेयरशीट में, डेवलपर के लिए कई काम की सुविधाएं भी होती हैं. उदाहरण के लिए, ये काम किए जा सकते हैं:

Android शेयरशीट का इस्तेमाल करना

शेयर करने के सभी टाइप के लिए, एक इंटेंट बनाएं और उसके ऐक्शन को Intent.ACTION_SEND पर सेट करें. Android Sharesheet दिखाने के लिए, Intent.createChooser() को कॉल करें और उसे अपना Intent ऑब्जेक्ट पास करें. यह आपके इंटेंट का ऐसा वर्शन दिखाता है जिसमें हमेशा Android की शेयरशीट दिखती है.

टेक्स्ट कॉन्टेंट भेजना

Android की शेयरशीट का सबसे आसान और सामान्य इस्तेमाल, टेक्स्ट कॉन्टेंट को एक ऐक्टिविटी से दूसरी ऐक्टिविटी में भेजने के लिए किया जाता है. उदाहरण के लिए, ज़्यादातर ब्राउज़र, फ़िलहाल दिख रहे पेज के यूआरएल को टेक्स्ट के तौर पर किसी दूसरे ऐप्लिकेशन के साथ शेयर कर सकते हैं. यह सुविधा, किसी लेख या वेबसाइट को ईमेल या सोशल नेटवर्किंग के ज़रिए दोस्तों के साथ शेयर करने के लिए काम की है. यहां इसका एक उदाहरण दिया गया है:

fun shareText(context: Context) {
    val sendIntent: Intent = Intent().apply {
        action = ACTION_SEND
        putExtra(Intent.EXTRA_TEXT, "This is my text to send.")
        type = "text/plain"
    }

    val shareIntent = Intent.createChooser(sendIntent, null)
    context.startActivity(shareIntent)
}

आपके पास ज़्यादा जानकारी शामिल करने का विकल्प होता है. जैसे, ईमेल पाने वाले लोग (EXTRA_EMAIL, EXTRA_CC, EXTRA_BCC), ईमेल का विषय (EXTRA_SUBJECT) वगैरह.

ध्यान दें: Gmail जैसे कुछ ईमेल ऐप्लिकेशन, EXTRA_EMAIL और EXTRA_CC जैसी अतिरिक्त सुविधाओं के लिए String[] की उम्मीद करते हैं. इन्हें अपने इंटेंट में जोड़ने के लिए, putExtra(String, String[]) का इस्तेमाल करें.

बाइनरी कॉन्टेंट भेजना

ACTION_SEND कार्रवाई का इस्तेमाल करके, बाइनरी डेटा शेयर करें. सही एमआईएमई टाइप सेट करें और अतिरिक्त EXTRA_STREAM में डेटा का यूआरआई डालें. जैसा कि यहां दिए गए उदाहरण में दिखाया गया है. आम तौर पर, इसका इस्तेमाल इमेज शेयर करने के लिए किया जाता है. हालांकि, इसका इस्तेमाल किसी भी तरह का बाइनरी कॉन्टेंट शेयर करने के लिए किया जा सकता है.

fun shareBinaryContent(context: Context) {
    val shareIntent: Intent = Intent().apply {
        action = ACTION_SEND
        // Example: content://com.google.android.apps.photos.contentprovider/...
        val imageUri: Uri =
            Uri.parse("content://com.google.android.apps.photos.contentprovider/0/1/mediakey/1")
        putExtra(Intent.EXTRA_STREAM, imageUri)
        type = "image/jpeg"
    }
    context.startActivity(Intent.createChooser(shareIntent, null))
}

जिस ऐप्लिकेशन को डेटा मिल रहा है उसके पास, Uri से जुड़े डेटा को ऐक्सेस करने की अनुमति होनी चाहिए. ऐसा करने के लिए, दो तरीके सुझाए गए हैं:

  • अपने ContentProvider में डेटा सेव करें. साथ ही, यह पक्का करें कि अन्य ऐप्लिकेशन के पास, आपके डेटा सोर्स को ऐक्सेस करने की सही अनुमति हो. ऐक्सेस देने के लिए, हर यूआरआई के लिए अनुमतियां इस्तेमाल करने का सुझाव दिया जाता है. ये अनुमतियां कुछ समय के लिए होती हैं और सिर्फ़ डेटा पाने वाले ऐप्लिकेशन को ऐक्सेस देती हैं. इस तरह का ContentProvider बनाने का एक आसान तरीका यह है कि FileProvider हेल्पर क्लास का इस्तेमाल किया जाए.
  • सिस्टम MediaStore का इस्तेमाल करें. MediaStore मुख्य रूप से वीडियो, ऑडियो, और इमेज के एमआईएमई टाइप के लिए होता है. हालांकि, Android 3.0 (एपीआई लेवल 11) से, यह मीडिया के अलावा अन्य फ़ाइलें भी सेव कर सकता है. ज़्यादा जानकारी के लिए, MediaStore.Files देखें. MediaStore में फ़ाइलें डालने के लिए, scanFile() का इस्तेमाल किया जा सकता है. इसके बाद, शेयर करने के लिए सही content://-स्टाइल वाला Uri, दिए गए onScanCompleted() कॉलबैक को पास किया जाता है. ध्यान दें कि सिस्टम MediaStore में जोड़ने के बाद, डिवाइस पर मौजूद कोई भी ऐप्लिकेशन इस कॉन्टेंट को ऐक्सेस कर सकता है.

सही MIME टाइप का इस्तेमाल करना

भेजे जा रहे डेटा के लिए, सबसे सटीक एमआईएमई टाइप दें. उदाहरण के लिए, सामान्य टेक्स्ट शेयर करते समय text/plain का इस्तेमाल करें. Android में सामान्य डेटा भेजते समय, यहां कुछ सामान्य एमआईएमई टाइप दिए गए हैं:

ईमेल पाने वाले लोग इसके लिए रजिस्टर करते हैं ईमेल भेजने वाले लोग
text/*
  • text/plain
  • text/rtf
  • text/html
  • text/json
`image/*`
  • image/jpg
  • image/png
  • image/gif
video/*
  • video/mp4
  • video/3gp
इस्तेमाल किए जा सकने वाले फ़ाइल एक्सटेंशन application/pdf

MIME टाइप के बारे में ज़्यादा जानकारी के लिए, IANA की आधिकारिक रजिस्ट्री देखें.

Android की शेयरशीट, दिए गए MIME टाइप के हिसाब से कॉन्टेंट की झलक दिखा सकती है. झलक के तौर पर उपलब्ध कुछ सुविधाएं, सिर्फ़ खास तरह के खातों के लिए उपलब्ध हैं.

एक से ज़्यादा कॉन्टेंट शेयर करना

एक से ज़्यादा कॉन्टेंट शेयर करने के लिए, ACTION_SEND_MULTIPLE ऐक्शन का इस्तेमाल करें. साथ ही, कॉन्टेंट की ओर ले जाने वाले यूआरआई की सूची भी दें. शेयर किए जा रहे कॉन्टेंट के मिक्स के हिसाब से, MIME टाइप अलग-अलग होता है. उदाहरण के लिए, अगर आपको तीन JPEG इमेज शेयर करनी हैं, तो "image/jpg" टाइप का इस्तेमाल करें. अलग-अलग तरह की इमेज के लिए, "image/*" का इस्तेमाल करें. इससे किसी ऐसी गतिविधि से मैच किया जा सकता है जो किसी भी तरह की इमेज को हैंडल करती है. हालांकि, अलग-अलग तरह के कॉन्टेंट को एक साथ शेयर किया जा सकता है, लेकिन हम ऐसा करने का सुझाव नहीं देते. इसकी वजह यह है कि इससे पाने वाले व्यक्ति को यह नहीं पता चलता कि उसे किस तरह का कॉन्टेंट भेजा गया है. अगर एक से ज़्यादा टाइप भेजना ज़रूरी हो, तो "*/*" का इस्तेमाल करें. आपके डेटा को पार्स और प्रोसेस करने की ज़िम्मेदारी, डेटा पाने वाले ऐप्लिकेशन की होती है. यहां एक उदाहरण दिया गया है:

fun shareMultiple(context: Context) {
    val imageUris: ArrayList<Uri> = arrayListOf(
        Uri.parse("content://com.google.android.apps.photos.contentprovider/0/1/mediakey/1"),
        Uri.parse("content://com.google.android.apps.photos.contentprovider/0/1/mediakey/2")
    )

    val shareIntent = Intent().apply {
        action = Intent.ACTION_SEND_MULTIPLE
        putParcelableArrayListExtra(Intent.EXTRA_STREAM, imageUris)
        type = "image/*"
    }
    context.startActivity(Intent.createChooser(shareIntent, null))
}

पक्का करें कि दिए गए Uri ऑब्जेक्ट, ऐसे डेटा की ओर ले जाते हों जिसे पाने वाला ऐप्लिकेशन ऐक्सेस कर सकता है.

टेक्स्ट की झलक में रिच कॉन्टेंट जोड़ना

Android 10 (एपीआई लेवल 29) से, Android की शेयरशीट में शेयर किए जा रहे टेक्स्ट की झलक दिखती है. कुछ मामलों में, शेयर किए जा रहे टेक्स्ट को समझना मुश्किल हो सकता है. https://www.google.com/search?ei=2rRVXcLkJajM0PEPoLy7oA4 जैसे मुश्किल यूआरएल को शेयर करने की कोशिश करें. ज़्यादा जानकारी वाली झलक से, आपके उपयोगकर्ताओं को यह भरोसा मिल सकता है कि क्या शेयर किया जा रहा है.

अगर आपको टेक्स्ट की झलक देखनी है, तो आपके पास टाइटल, थंबनेल इमेज या दोनों सेट करने का विकल्प होता है. Intent.createChooser() को कॉल करने से पहले, उसके बारे में ब्यौरा जोड़ें. साथ ही, ClipData का इस्तेमाल करके, उससे जुड़ा थंबनेल जोड़ें.Intent.EXTRA_TITLE

ध्यान दें: इमेज का कॉन्टेंट यूआरआई, FileProvider से मिलता है. आम तौर पर, यह कॉन्फ़िगर किए गए <cache-path> से मिलता है. ज़्यादा जानकारी के लिए, फ़ाइलें शेयर करना लेख पढ़ें. पक्का करें कि आपने शेयरशीट को, थंबनेल के तौर पर इस्तेमाल की जाने वाली किसी भी इमेज को पढ़ने की ज़रूरी अनुमतियां दी हों. ज़्यादा जानकारी के लिए, Intent.FLAG_GRANT_READ_URI_PERMISSION देखें.

यहां एक उदाहरण दिया गया है:

fun richContentToTextPreviewShares(context: Context) {
    val share = Intent.createChooser(
        Intent().apply {
            action = ACTION_SEND
            putExtra(Intent.EXTRA_TEXT, "https://developer.android.com/training/sharing/")

            // (Optional) Here you're setting the title of the content
            putExtra(Intent.EXTRA_TITLE, "Introducing content previews")

            // (Optional) Here you're passing a content URI to an image to be displayed
            data =
                Uri.parse("content://com.google.android.apps.photos.contentprovider/0/1/mediakey/A123456789")
            flags = Intent.FLAG_GRANT_READ_URI_PERMISSION
        },
        null
    )
    context.startActivity(share)
}

झलक कुछ इस तरह दिखती है:

शेयरशीट में कस्टम कार्रवाइयां जोड़ना

Android की शेयरशीट पर कस्टम कार्रवाइयों का स्क्रीनशॉट.

Android 14 (एपीआई लेवल 34) और इसके बाद के वर्शन पर, ऐप्लिकेशन Android की शेयरशीट में कस्टम ऐक्शन जोड़ सकते हैं. कस्टम कार्रवाइयां, Android की शेयरशीट में सबसे ऊपर छोटे ऐक्शन आइकॉन के तौर पर दिखती हैं. साथ ही, ऐप्लिकेशन यह तय कर सकते हैं कि आइकॉन पर क्लिक करने पर कौनसी Intent शुरू होगी.

Android Sharesheet पर कस्टम कार्रवाइयां जोड़ने के लिए, सबसे पहले ChooserAction बनाएं. इसके लिए, ChooserAction.Builder का इस्तेमाल करें. आइकॉन पर क्लिक करने पर, PendingIntent को कार्रवाई के तौर पर सेट किया जा सकता है. अपनी सभी कस्टम कार्रवाइयों को शामिल करके एक ऐरे बनाएं और उसे शेयर Intent के EXTRA_CHOOSER_CUSTOM_ACTIONS के तौर पर तय करें.

fun sharesheetCustomActions(context: Context, previewText: String) {
    val sendIntent = Intent(ACTION_SEND)
        .setType("text/plain")
        .putExtra(Intent.EXTRA_TEXT, previewText)
    val shareIntent = Intent.createChooser(sendIntent, null)
    val customActions = arrayOf(
        ChooserAction.Builder(
            Icon.createWithResource(context, R.drawable.ic_logo),
            "Custom",
            PendingIntent.getBroadcast(
                context,
                1,
                Intent(Intent.ACTION_VIEW),
                PendingIntent.FLAG_IMMUTABLE or PendingIntent.FLAG_CANCEL_CURRENT
            )
        ).build()
    )
    shareIntent.putExtra(Intent.EXTRA_CHOOSER_CUSTOM_ACTIONS, customActions)
    context.startActivity(shareIntent)
}

कस्टम टारगेट जोड़ना

Android की शेयरशीट में, ज़्यादा से ज़्यादा दो ChooserTarget ऑब्जेक्ट तय किए जा सकते हैं. ये ऑब्जेक्ट, ChooserTargetServices से लोड किए गए शेयर करने के शॉर्टकट और चूज़र टारगेट से पहले दिखते हैं. ऐप्लिकेशन के सुझावों से पहले, सूची में दी गई गतिविधियों की ओर इशारा करने वाले ज़्यादा से ज़्यादा दो इंटेंट भी तय किए जा सकते हैं:

Intent.createChooser() को कॉल करने के बाद, शेयर करने के इंटेंट में Intent.EXTRA_CHOOSER_TARGETS और Intent.EXTRA_INITIAL_INTENTS जोड़ें:

val share = Intent.createChooser(shareIntent, null).apply {
    putExtra(
        Intent.EXTRA_CHOOSER_TARGETS,
        arrayOf(chooserTargetJessica, chooserTargetSpyros)
    )
    putExtra(
        Intent.EXTRA_INITIAL_INTENTS,
        arrayOf(intentTargetNearbyShare, intentTargetMaps)
    )
}

इस सुविधा का इस्तेमाल सावधानी से करें. हर कस्टम Intent और ChooserTarget जोड़ने पर, सिस्टम की ओर से सुझाए गए नंबर कम हो जाते हैं. हम आम तौर पर, कस्टम टारगेट जोड़ने का सुझाव नहीं देते. Intent.EXTRA_INITIAL_INTENTS जोड़ने का एक सामान्य और सही उदाहरण यह है कि शेयर किए गए कॉन्टेंट पर, उपयोगकर्ताओं को अतिरिक्त कार्रवाइयां करने की सुविधा दी जाए. उदाहरण के लिए, कोई उपयोगकर्ता इमेज शेयर करता है और Intent.EXTRA_INITIAL_INTENTS का इस्तेमाल करके, उसे इमेज के बजाय लिंक भेजने का विकल्प दिया जाता है. Intent.EXTRA_CHOOSER_TARGETS जोड़ने का एक सामान्य और सही उदाहरण यह है कि आपके ऐप्लिकेशन से जुड़े लोगों या डिवाइसों को दिखाया जाए.

कॉम्पोनेंट के हिसाब से कुछ टारगेट को बाहर रखना

Intent.EXTRA_EXCLUDE_COMPONENTS एट्रिब्यूट की वैल्यू देकर, कुछ टारगेट को बाहर रखा जा सकता है. सिर्फ़ उन टारगेट को हटाएं जिन पर आपका कंट्रोल है. इसका एक सामान्य इस्तेमाल यह है कि जब उपयोगकर्ता आपके ऐप्लिकेशन से कॉन्टेंट शेयर करते हैं, तब ऐप्लिकेशन के शेयर टारगेट छिपा दिए जाएं. ऐसा इसलिए, क्योंकि वे शायद आपके ऐप्लिकेशन के बाहर कॉन्टेंट शेयर करना चाहते हैं.

Intent.createChooser() को कॉल करने के बाद, अपने इंटेंट में Intent.EXTRA_EXCLUDE_COMPONENTS जोड़ें:

fun excludeSpecificTargets(context: Context) {
    val share = Intent.createChooser(Intent(ACTION_SEND), null).apply {
        // Only use for components you have control over
        val excludedComponentNames =
            arrayOf(ComponentName("com.example.android", "ExampleClass"))
        putExtra(Intent.EXTRA_EXCLUDE_COMPONENTS, excludedComponentNames)
    }
    context.startActivity(share)
}

शेयर करने के बारे में जानकारी पाना

इससे यह पता चल सकता है कि आपके उपयोगकर्ता कब शेयर कर रहे हैं और वे कौनसी टारगेट सेटिंग चुन रहे हैं. Android की शेयरशीट की मदद से, यह जानकारी पाई जा सकती है. इसके लिए, आपको ComponentName देना होगा. यह ComponentName, आपके उपयोगकर्ताओं ने चुना होगा.IntentSender

सबसे पहले, BroadcastReceiver के लिए PendingIntent बनाएं और Intent.createChooser() में इसका IntentSender दें:

fun infoAboutSharing(context: Context, requestCode: Int) {
    var share = Intent(ACTION_SEND)
    // ...
    val pi = PendingIntent.getBroadcast(
        context, requestCode,
        Intent(context, ShareBroadcastReceiver::class.java),
        PendingIntent.FLAG_MUTABLE or PendingIntent.FLAG_UPDATE_CURRENT
    )
    share = Intent.createChooser(share, null, pi.intentSender)
    context.startActivity(share)
}

MyBroadcastReceiver में कॉलबैक पाएं और Intent.EXTRA_CHOOSER_RESULT में देखें:

override fun onReceive(context: Context?, intent: Intent) {
    val TAG = ShareBroadcastReceiver::class.simpleName
    val chooserResult: ChooserResult? = IntentCompat.getParcelableExtra(
        intent,
        Intent.EXTRA_CHOOSER_RESULT,
        ChooserResult::class.java,
    )
    chooserResult?.let {
        Log.i(TAG,
            "Share callback: isShortcut: ${it.isShortcut}, type: ${typeToString(it.type)}, componentName: ${it.selectedComponent}",
        )
    } ?: Log.i(TAG, "chooserResult is null")
}
ज़्यादा जानकारी के लिए, प्लैटफ़ॉर्म शेयर का सैंपल देखें:

शेयरशीट में कस्टम कार्रवाइयां जोड़ना

Android 14 (एपीआई लेवल 34) और इसके बाद के वर्शन पर, ऐप्लिकेशन Android की शेयरशीट में कस्टम ऐक्शन जोड़ सकते हैं. ChooserAction.Builder की मदद से ChooserAction बनाएँ. आइकॉन पर क्लिक करने पर, PendingIntent को कार्रवाई के तौर पर सेट किया जा सकता है. अपनी सभी कस्टम कार्रवाइयों को शामिल करके एक ऐरे बनाएं और उसे शेयर Intent के EXTRA_CHOOSER_CUSTOM_ACTIONS के तौर पर तय करें.

fun customActions(context: Context, text: String) {
    val sendIntent = Intent(ACTION_SEND)
        .setType("text/plain")
        .putExtra(Intent.EXTRA_TEXT, text)
    val shareIntent = Intent.createChooser(sendIntent, null)
    val customActions = arrayOf(
        ChooserAction.Builder(
            Icon.createWithResource(context, R.drawable.ic_logo),
            "Custom",
            PendingIntent.getBroadcast(
                context,
                1,
                Intent(Intent.ACTION_VIEW),
                PendingIntent.FLAG_IMMUTABLE or PendingIntent.FLAG_CANCEL_CURRENT
            )
        ).build()
    )
    shareIntent.putExtra(Intent.EXTRA_CHOOSER_CUSTOM_ACTIONS, customActions)
    context.startActivity(shareIntent)
}

Android इंटेंट रिज़ॉल्वर का इस्तेमाल करना

ACTION_SEND इंटेंट रिज़ॉल्वर का स्क्रीनशॉट.

Android इंटेंट रिज़ॉल्वर का सबसे अच्छा इस्तेमाल तब किया जाता है, जब किसी टास्क फ़्लो के हिस्से के तौर पर, डेटा को किसी दूसरे ऐप्लिकेशन पर भेजा जाता है.

Android इंटेंट रिज़ॉल्वर का इस्तेमाल करने के लिए, एक इंटेंट बनाएं और उसमें अतिरिक्त जानकारी जोड़ें. ऐसा ही Android Sharesheet को कॉल करने के लिए किया जाता है. हालांकि, कॉल न करें Intent.createChooser().

अगर फ़िल्टर और MIME टाइप से मेल खाने वाले कई ऐप्लिकेशन इंस्टॉल किए गए हैं, तो सिस्टम एक डायलॉग दिखाता है. इसे इंटेंट रिज़ॉल्वर कहते हैं. इसकी मदद से, उपयोगकर्ता यह चुन सकता है कि उसे किस ऐप्लिकेशन पर शेयर करना है.ACTION_SEND अगर कोई एक ऐप्लिकेशन मैच होता है, तो वह चलता है.

यहां Android इंटेंट रिज़ॉल्वर का इस्तेमाल करके टेक्स्ट भेजने का उदाहरण दिया गया है:

fun intentResolver(context: Context) {
    val sendIntent: Intent = Intent().apply {
        action = ACTION_SEND
        putExtra(Intent.EXTRA_TEXT, "This is my text to send.")
        type = "text/plain"
    }
    context.startActivity(sendIntent)
}

ज़्यादा जानें

डेटा भेजने के बारे में ज़्यादा जानकारी के लिए, इंटेंट और इंटेंट फ़िल्टर देखें.