#if UNITY_ANDROID
using UnityEngine;
namespace UnityNative.Sharing
{
public class AndroidUnityNativeSharingAdapter : IUnityNativeSharingAdapter
{
///
/// Android package name and class
///
private const string AndroidClass = "com.UnityNative.Sharing.UnityNativeSharingAdapter";
///
/// Android method name to call to share a screenshot with text
///
private const string ShareScreenshotWithTextMethodName = "ShareScreenshotAndText";
///
/// Android method name to call to share text
///
private const string ShareTextMethodName = "ShareText";
///
/// UnityNativeSharingAdapter.java
///
private readonly AndroidJavaClass sharingJavaClass;
public AndroidUnityNativeSharingAdapter()
{
AndroidJNI.AttachCurrentThread();
sharingJavaClass = new AndroidJavaClass(AndroidClass);
}
public void ShareScreenshotAndText(string shareText, string filePath, bool showShareDialogBox = true, string shareDialogBoxText = "Select App To Share With", string mimeType = "image/*")
{
AndroidJNI.AttachCurrentThread();
sharingJavaClass.CallStatic(ShareScreenshotWithTextMethodName, shareText, filePath, showShareDialogBox, shareDialogBoxText, mimeType);
}
public void ShareText(string shareText, bool showShareDialogBox = true, string shareDialogBoxText = "Select App To Share With")
{
AndroidJNI.AttachCurrentThread();
sharingJavaClass.CallStatic(ShareTextMethodName, shareText, showShareDialogBox, shareDialogBoxText);
}
}
}
#endif //UNITY_ANDROID