using System.Runtime.InteropServices; using UnityEngine; /// /// Create By Jooki: https://www.yuque.com/jooki /// 使用流程: /// WeChatController是一个单例, 请自行给变量 _className 赋值 /// 使用前先调用 Init() 进行初始化,然后调用 IsWeChatAppInstalled() 检查用户设备上是否安装了微信; /// 之后为保险起见调用 IsWeChatAppInstalled() 判断微信是否已经安装; /// 最后就是按照需要分享的消息类型调用对应的方法 /// public class ImageSelectorController { /// /// com.unityplugins.wechatshare是在Android Studio中创建的 Module, /// MainActivity 是一个Activity, 对外供C#调用的方法都写在这个Activity内 /// private readonly string _className = "com.unityplugins.imageSelector.MainActivity"; private AndroidJavaClass mainActivityClass = null; private static ImageSelectorController _instance; public static ImageSelectorController Instance { get { if (_instance == null) { _instance = new ImageSelectorController(); } return _instance; } } private ImageSelectorController() { #if UNITY_ANDROID mainActivityClass = new AndroidJavaClass(_className); // 第一个参数: MainActivity中的方法名 // 第二、三个参数: 分别是SendMessageToUnity需要接收的第一和第二个参数,对比上面Java的代码 #elif UNITY_IOS //RegisterApp(_APP_ID); #endif } public void Select() { mainActivityClass.CallStatic("Select"); } }