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

47 lines
1.1 KiB
C#
Raw Normal View History

2021-09-02 14:18:26 +08:00
using System.Runtime.InteropServices;
using UnityEngine;
/// <summary>
2021-09-07 11:00:32 +08:00
///
2021-09-02 14:18:26 +08:00
/// </summary>
public class ImageSelectorController
{
2021-09-07 11:00:32 +08:00
private AndroidJavaObject mainActivityObject = null;
#if UNITY_IOS
[DllImport("__Internal")]
private static extern void IOS_OpenCamera();
[DllImport("__Internal")]
private static extern void IOS_OpenAlbum();
#endif
2021-09-02 14:18:26 +08:00
private static ImageSelectorController _instance;
public static ImageSelectorController Instance
{
get
{
#if !UNITY_EDITOR
2021-09-02 14:18:26 +08:00
if (_instance == null)
{
_instance = new ImageSelectorController();
}
#endif
2021-09-02 14:18:26 +08:00
return _instance;
}
}
private ImageSelectorController()
{
#if UNITY_ANDROID
2021-09-07 11:00:32 +08:00
AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
mainActivityObject = jc.GetStatic<AndroidJavaObject>("currentActivity");
2021-09-02 14:18:26 +08:00
#elif UNITY_IOS
//RegisterApp(_APP_ID);
#endif
}
2021-09-02 14:18:26 +08:00
public void Select()
{
#if UNITY_IOS
IOS_OpenAlbum();
#else
2021-09-07 11:00:32 +08:00
mainActivityObject.Call("Select");
#endif
2021-09-02 14:18:26 +08:00
}
}