Exemplo n.º 1
0
        public T GetField <T>(string className, string fieldName, bool isFieldStatic)
        {
#if UNITY_ANDROID && !UNITY_EDITOR
            AndroidJavaClass clazz = new AndroidJavaClass(className);
            return(isFieldStatic ? clazz.GetStatic <T>(fieldName) : clazz.Get <T>(fieldName));
#else
            return(default(T));
#endif
        }
Exemplo n.º 2
0
    //Open SMS
    public static void SendSMS2(string sms, string content)
    {
        //Refernece of AndroidJavaClass class for intent
        AndroidJavaClass intentClass = new AndroidJavaClass("android.content.Intent");
        //Refernece of AndroidJavaObject class for intent
        AndroidJavaObject intentObject = new AndroidJavaObject("android.content.Intent");

        //call setAction method of the Intent object created
        intentObject.Call <AndroidJavaObject>("setAction", intentClass.GetStatic <string>("ACTION_VIEW"));
        //set the type of sharing that is happening
        intentObject.Call <AndroidJavaObject>("setType", "vnd.android-dir/mms-sms");
        //add data to be passed to the other activity i.e., the data to be sent
        intentObject.Call <AndroidJavaObject>("putExtra", intentClass.Get <string>("address"), sms);
        intentObject.Call <AndroidJavaObject>("putExtra", intentClass.Get <string>("sms_body"), content);
        //get the current activity
        AndroidJavaClass  unity           = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
        AndroidJavaObject currentActivity = unity.GetStatic <AndroidJavaObject>("currentActivity");

        //start the activity by sending the intent data
        currentActivity.Call("startActivity", intentObject);
    }
Exemplo n.º 3
0
    public static string invokeMeta(int type, string msg = "")
    {
        #if UNITY_IPHONE
        return(_invokeMeta(type, msg));
        #endif

        #if UNITY_ANDROID
        AndroidJavaClass  jc  = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
        AndroidJavaObject jo  = jc.Get <AndroidJavaObject>("currentActivity");
        string            ret = jo.Call <string>("_invokeMeta", new object[] { type, msg });
        Debug.Log("invokeMeta done! ret : " + ret);
        return(ret);
        #endif

        return("");
    }
Exemplo n.º 4
0
    // Start is called before the first frame update

    private void   Awake()
    {
        AndroidJavaClass aclass = new AndroidJavaClass("com.unity3d.player.UnityPlayer");

        aObj = aclass.Get <AndroidJavaObject>("currentActivity");
    }
Exemplo n.º 5
0
 /// <summary>
 /// 打开相机
 /// </summary>
 public void OpenCamera()
 {
     javaClass  = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
     javaObject = javaClass.Get <AndroidJavaObject>("currentActivity");
     javaObject.Call("TakePhoto");
 }
Exemplo n.º 6
0
 /// <summary>
 /// 打开相册
 /// </summary>
 public void OpenGallery()
 {
     javaClass  = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
     javaObject = javaClass.Get <AndroidJavaObject>("currentActivity");
     javaObject.Call("OpenGallery");
 }
Exemplo n.º 7
0
        public T FindObject_CallMethod <T>(string className, string fieldName, bool isFieldStatic, string methodName, object[] methodParams)
        {
#if UNITY_ANDROID && !UNITY_EDITOR
            AndroidJavaClass  clazz = new AndroidJavaClass(className);
            AndroidJavaObject obj   = isFieldStatic ? clazz.GetStatic <AndroidJavaObject>(fieldName) : clazz.Get <AndroidJavaObject>(fieldName);
            T result = IsAvailable(methodParams) ? obj.Call <T>(methodName, methodParams) : obj.Call <T>(methodName);
            obj.Dispose();
            clazz.Dispose();
            return(result);
#else
            return(default(T));
#endif
        }
Exemplo n.º 8
0
        public void FindObject_CallStaticMethod(string className, string fieldName, bool isFieldStatic, string methodName, object[] methodParams)
        {
#if UNITY_ANDROID && !UNITY_EDITOR
            AndroidJavaClass  clazz = new AndroidJavaClass(className);
            AndroidJavaObject obj   = isFieldStatic ? clazz.GetStatic <AndroidJavaObject>(fieldName) : clazz.Get <AndroidJavaObject>(fieldName);
            obj.CallStatic(methodName, methodParams);
            obj.Dispose();
            clazz.Dispose();
#endif
        }
Exemplo n.º 9
0
 public static T[] GetAsArray <T>(this AndroidJavaClass javaClass, string fieldName) where T : JavaObjectWrapper =>
 javaClass.Get <AndroidJavaObject>(fieldName).AsArray <T>();