How to activate “Share” button in android app?

后端 未结 4 803
我寻月下人不归
我寻月下人不归 2020-11-28 18:17

i want to add \"Share\" button to my android app.

Like that

\":\"

I added \"Share\" button, bu

相关标签:
4条回答
  • 2020-11-28 18:59

    Share Any File as below ( Kotlin ) :
    first create a folder named xml in the res folder and create a new XML Resource File named provider_paths.xml and put the below code inside it :

    <?xml version="1.0" encoding="utf-8"?>
    <paths xmlns:android="http://schemas.android.com/apk/res/android">
        <files-path
            name="files"
            path="."/>
    
        <external-path
            name="external_files"
            path="."/>
    </paths>
    

    now go to the manifests folder and open the AndroidManifest.xml and then put the below code inside the <application> tag :

    <provider
    android:name="androidx.core.content.FileProvider"
    android:authorities="${applicationId}.provider"
    android:exported="false"
    android:grantUriPermissions="true">
    <meta-data
        android:name="android.support.FILE_PROVIDER_PATHS"
        android:resource="@xml/provider_paths" /> // provider_paths.xml file path in this example
    </provider>
    

    now you put the below code in the setOnLongClickListener :

    share_btn.setOnClickListener {
        try {
            val file = File("pathOfFile")
            if(file.exists()) {
                val uri = FileProvider.getUriForFile(this, BuildConfig.APPLICATION_ID + ".provider", file)
                val intent = Intent(Intent.ACTION_SEND)
                intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
                intent.setType("*/*")
                intent.putExtra(Intent.EXTRA_STREAM, uri)
                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                startActivity(intent)
            }
        } catch (e: java.lang.Exception) {
            e.printStackTrace()
            toast("Error")
        }
    }
    
    0 讨论(0)
  • 2020-11-28 19:03

    Add a Button and on click of the Button add this code:

    Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND); 
    sharingIntent.setType("text/plain");
    String shareBody = "Here is the share content body";
    sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Subject Here");
    sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, shareBody);
    startActivity(Intent.createChooser(sharingIntent, "Share via"));
    

    Useful links:

    For basic sharing

    For customization

    0 讨论(0)
  • 2020-11-28 19:14

    in kotlin :

    val sharingIntent = Intent(android.content.Intent.ACTION_SEND)
    sharingIntent.type = "text/plain"
    val shareBody = "Application Link : https://play.google.com/store/apps/details?id=${App.context.getPackageName()}"
    sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "App link")
    sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, shareBody)
    startActivity(Intent.createChooser(sharingIntent, "Share App Link Via :"))
    
    0 讨论(0)
  • 2020-11-28 19:22

    Create a button with an id share and add the following code snippet.

    share.setOnClickListener(new View.OnClickListener() {             
        @Override
        public void onClick(View v) {
    
            Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);
            sharingIntent.setType("text/plain");
            String shareBody = "Your body here";
            String shareSub = "Your subject here";
            sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, shareSub);
            sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, shareBody);
            startActivity(Intent.createChooser(sharingIntent, "Share using"));
        }
    });
    

    The above code snippet will open the share chooser on share button click action. However, note...The share code snippet might not output very good results using emulator. For actual results, run the code snippet on android device to get the real results.

    0 讨论(0)
提交回复
热议问题