【每天堅持學一點之unity】1、Unity簡單呼叫Android原生方法的一些記錄
阿新 • • 發佈:2018-12-22
本文的思路靈感來源於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,就會在需要的時候呼叫需要的方法了。
記錄一下,防止遺忘,也希望大神能夠多多指正。