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");
|
|||
|
|
}
|
|||
|
|
}
|