これには2通りの方法があります。
1.ネイティブコードを作成するためにネイティブプラグインを作成し、ネイティブコードを呼び出すためにラッパーコードを書いてください。(ネイティブ関数を呼び出すために最も広く使われる方法でしょう)
2.コードをUnityで完全に記述し、AndroidJavaObjectを使用して関数を呼び出します。
オプション1 - ネイティブJavaコード+ユニティラッパー
は、ここで私は共有のためのコードをSOに見つけlinkです。
プラグインに関する私の以前の回答の1つにはlinkがあります。必要に応じてコードを変更することができます。
オプション2 - ネイティブコードなし。
この方法は少し面白いです。 UnityのAndroidJavaClass & AndroidJavaObjectを使用して、JARの必要性を排除します。以下のコードをC#スクリプトに貼り付けて、関数を呼び出してください。 (注、私はこのコードを試していませんが、エラーがあるかもしれません。がある場合は、私が知っていると私は私の応答を編集します)
private static AndroidJavaObject activity = null;
private static void CreateActivity() {
#if UNITY_ANDROID && !UNITY_EDITOR
if(activity == null)
activity = new AndroidJavaClass("com.unity3d.player.UnityPlayer").
GetStatic<AndroidJavaObject>("currentActivity");
#endif
}
public static void ShareActivity (string title, string subject, string body) {
CreateActivity();
AndroidJavaObject sharingIntent = new AndroidJavaObject("android.content.Intent", "android.intent.action.SEND")
.Call<AndroidJavaObject>("setType", "text/plain")
.Call<AndroidJavaObject>("putExtra", "android.intent.extra.TEXT", body)
.Call<AndroidJavaObject>("putExtra", "android.intent.extra.SUBJECT", subject);
AndroidJavaObject intent = new AndroidJavaObject("android.content.Intent", activity)
.CallStatic<AndroidJavaObject>("createChooser", sharingIntent, title);
activity.Call("startActivity", intent);
}
があなたのAndroidManifestに活動を追加することを忘れないでください。 xml!