- Home /
how to add a basic share button android
hello, I wish to add a simple android share button, that when pressed offers you a list of apps that you can share to. NOT JUST facebook/twitter/etc but just the list of apps that are on the phone that can be shared to. as shown below:
Answer by kaliAJ · Jan 15, 2020 at 12:45 PM
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.IO;
using System.Runtime.InteropServices;
public class socioshare : MonoBehaviour
{
string subject = "add any text here ";
string body = "share your game link here";
public void OnAndroidTextSharingClick()
{
//FindObjectOfType<AudioManager>().Play("Enter");
StartCoroutine(ShareAndroidText());
}
IEnumerator ShareAndroidText()
{
yield return new WaitForEndOfFrame();
//execute the below lines if being run on a Android device
//Reference of AndroidJavaClass class for intent
AndroidJavaClass intentClass = new AndroidJavaClass("android.content.Intent");
//Reference of AndroidJavaObject class for intent
AndroidJavaObject intentObject = new AndroidJavaObject("android.content.Intent");
//call setAction method of the Intent object created
intentObject.Call<AndroidJavaObject>("setAction", intentClass.GetStatic<string>("ACTION_SEND"));
//set the type of sharing that is happening
intentObject.Call<AndroidJavaObject>("setType", "text/plain");
//add data to be passed to the other activity i.e., the data to be sent
intentObject.Call<AndroidJavaObject>("putExtra", intentClass.GetStatic<string>("EXTRA_SUBJECT"), subject);
intentObject.Call<AndroidJavaObject>("putExtra", intentClass.GetStatic<string>("EXTRA_TITLE"), "TITLE");
intentObject.Call<AndroidJavaObject>("putExtra", intentClass.GetStatic<string>("EXTRA_TEXT"), subject);
intentObject.Call<AndroidJavaObject>("putExtra", intentClass.GetStatic<string>("EXTRA_TEXT"), body);
//get the current activity
AndroidJavaClass unity = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject currentActivity = unity.GetStatic<AndroidJavaObject>("currentActivity");
//start the activity by sending the intent data
AndroidJavaObject jChooser = intentClass.CallStatic<AndroidJavaObject>("createChooser", intentObject, "Share Via");
currentActivity.Call("startActivity",jChooser);
}
}
@hhhdshsdfh I am using this script to share the game link to all the social media apps. but the problem I am facing is that I am unable to print the 1st string "subject" in the message to be shared. 2nd string "body is being printed accurately. Rest everything works fine
Your answer
Follow this Question
Related Questions
Not Able to see Joystick & Button after deploying game to Android Device 1 Answer
how to check if touching an guitexture android 0 Answers
how do i use GUI buttons with a android device(tablet) 2 Answers
Parsing Error, code in android for a button 2 Answers
Need UI control buttons for a 2D android side scroller 2 Answers