47 lines
1.6 KiB
C#
47 lines
1.6 KiB
C#
using System.Runtime.InteropServices;
|
||
using UnityEngine;
|
||
|
||
/// <summary>
|
||
/// Create By Jooki: https://www.yuque.com/jooki
|
||
/// 使用流程:
|
||
/// WeChatController是一个单例, 请自行给变量 _className 赋值
|
||
/// 使用前先调用 Init() 进行初始化,然后调用 IsWeChatAppInstalled() 检查用户设备上是否安装了微信;
|
||
/// 之后为保险起见调用 IsWeChatAppInstalled() 判断微信是否已经安装;
|
||
/// 最后就是按照需要分享的消息类型调用对应的方法
|
||
/// </summary>
|
||
public class ImageSelectorController
|
||
{
|
||
/// <summary>
|
||
/// com.unityplugins.wechatshare是在Android Studio中创建的 Module,
|
||
/// MainActivity 是一个Activity, 对外供C#调用的方法都写在这个Activity内
|
||
/// </summary>
|
||
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");
|
||
}
|
||
} |