("c..._unity.getstatic">
当前位置:   article > 正文

unity调用安卓_unity.getstatic

unity.getstatic

1不使用Jar包 把安卓方法写在UnityPlayerActivity 类下

//获得类

AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");

//获得java对象 
AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");

//执行方法 jo.call 参数代表的是java对象的函数名字。
jo.Call("Method",arg);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

2调用Jar包
1)需要修改程序的主Activity,所以可以在程序的生命周期做一些初始化和其他工作。

  1. 将Jar包拷贝到Assets/Plugins/Android/目录下
  2. 将PicoUnityActivity.cs文件拷贝到工程任意目录下,如Assets/ PicoUnityActivity里写的是安卓方法
  3. 修改PicoUnityActivity.cs 中 CurrentActivity() 方法里的packageName 属性修改为Jar包的包名.类名
private static AndroidJavaObject CurrentActivity ()
	{
		if (Application.platform == RuntimePlatform.Android) {
			//将packageName改为Jar包的全限定Activity名
			string packageName = "com.pico.player.UnityActivity";
			if (picoUnityAcvity == null) {
				picoUnityAcvity = new AndroidJavaClass (packageName).GetStatic<AndroidJavaObject> ("unityActivity");
			}
		}
		return picoUnityAcvity;
	}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

4.修改Unity项目中主Activity为jar包的主Activity,即包名.类名
5.在脚本文件中通过PicoUnityActivity的静态方法,传入方法名调用Jar包方法

public class CallJarMethod : MonoBehaviour {
	… …
    void CallJar()
    {
        PicoUnityActivity.CallObjectMethod("startJar");
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

2) 非继承主Activity方式 可以调用多个Jar包

  1. 导出Jar包,并记住Jar包的包名.类名,方法名
  2. 将Jar包拷贝到Assets/Plugins/Android/目录下
  3. 编写脚本
 public void test2()
    {
     
        AndroidJavaObject ajo = new AndroidJavaObject("com.picovr.getsdpath.GetSDPathClass");
        //AndroidJavaObject(“包名.类名”);
        AndroidJavaObject context = new AndroidJavaClass("com.unity3d.player.UnityPlayer").GetStatic<AndroidJavaObject>("currentActivity");
// ajo.Call<string>("调用的函数名", context);
        string s = ajo.Call<string>("getSDPath", context);
  // s2 = ajo.CallStatic<string>("getPath", ActivityContext);函数是Static类型的用CallStatic
        text2.text = s;
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/597615
推荐阅读
相关标签
  

闽ICP备14008679号