powerfun-unity/Assets/Scripts/Mobile/ImageSelectorController.cs

47 lines
1.6 KiB
C#
Raw Normal View History

2021-09-02 14:18:26 +08:00
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");
}
}