1. 程式人生 > >【每天堅持學一點之unity】1、Unity簡單呼叫Android原生方法的一些記錄

【每天堅持學一點之unity】1、Unity簡單呼叫Android原生方法的一些記錄

    本文的思路靈感來源於CSDN上的一篇部落格,非常感謝原作者,原文地址為:

        https://blog.csdn.net/sinat_23156865/article/details/54143064

 

    之前一直是做PC端的一些東西的,所以對於Unity釋出Android平臺知之甚少。這次因為專案需要,釋出android平臺,需要呼叫Android原生方法。最後解決問題採用的方法個人覺得比較簡單,也好理解,所以記錄下來以防自己遺忘,或者能夠幫助到他人。

    首先說一下,自己的開發環境是Unity5.6.5 + Android Studio3.1。首先定好Unity要呼叫的Android方法的方法名,比如說test()。在unity需要呼叫方法的地方,新增這樣一個程式碼片段

public void CallAndroidFunction()
{
    AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
    AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
    jo.Call("test");
}

    

這裡就呼叫了android中的無參方法test,如果有引數也可以傳參,具體的可以自己去看一下。

    接著就是釋出,將Unity工程匯出成為一個android工程,用AndroidStudio開啟工程。因為Unity釋出出來的Android工程只有一個預設的UnityPlayerActivity,同時我需要呼叫的方法比較簡單,於是就把該方法寫到了UnityPlayerActivity裡,記住一定是要同名方法,這裡就是test()。

    最後打包出來的apk,就會在需要的時候呼叫需要的方法了。

    記錄一下,防止遺忘,也希望大神能夠多多指正。