Unity3D 调用Android原生方法
2015-08-26 21:11
495 查看
Unity3D 调用Android原生方法
1.设置权限a.从Unity的安装目录(Editor\Data\PlaybackEngines\androidplayer)找到AndroidManifest.xml文件。
b.在Unity项目中,创建(Plugins\Android)文件夹,并将AndroidManifest.xml拖入。
c.编辑AndroidManifest文件,在<manifest></manifest>标签内添加所需的权限标签(<uses-permission android:name="" />)
2.获取Activity
//获取当前App的Activity public static AndroidJavaObject Current() { if (Application.platform == RuntimePlatform.Android) return new AndroidJavaClass("com.unity3d.player.UnityPlayer").GetStatic<AndroidJavaObject>("currentActivity"); else return null; } //获取指定包名的Activity public static AndroidJavaObject GetActivity(string package_name,string activity_name) { return new AndroidJavaClass(package_name).GetStatic<AndroidJavaObject>(activity_name); }
3.调用Android原生方法
// UI线程中运行 public static void RunOnUIThread(AndroidJavaRunnable r) { Current().Call("runOnUiThread", r); } //获取包名 public static string getPackageName() { return Current().Call<string>("getPackageName"); } //讲解:call<返回值类型>("方法名"); //设置 不自动锁屏 public static void DisableScreenLock() { Current().Call<AndroidJavaObject>("getWindow") .Call("addFlags",128); } //讲解:call("方法名",参数1); // 获取内置SD卡路径 public static string GetStoragePath() { if (Application.platform == RuntimePlatform.Android) return new AndroidJavaClass("android.os.Environment").CallStatic<AndroidJavaObject>("getExternalStorageDirectory").Call<string>("getPath"); else return "d:/movie"; } //讲解:new AndroidJavaClass("全类名") ---new一个Android原生类 //讲解:CallStatic<返回类型>("方法名") ---静态方法获取一个Android原生类型
转载于:游戏蛮牛 http://www.unitymanual.com/
===================================================================================
结束。
相关文章推荐
- Unity3D之Quaternion学习与应用
- Unity中Instantiate物体失效问题
- Unity3D里Time时间体系的讲解与运用
- Unity Game Programming AI(2)有限状态机
- Unity—UGUI
- unity调用 安卓相册
- Unity Jonit(关节)
- Unity3d获得android和ios设备的唯一标识
- 【跟随】Kirill Muzykov大神 Unity UGUI(1)
- Unity接入移动MM支付(Android)
- Unity笔记 2D ROGUELIKE 实例详解
- Unity3D热更新全书-何谓热更新,为何热更新,如何热更新
- Unity Bug 修复系列
- Unity物体上下反复漂浮效果
- unity Kinect v2 with MS-SDK20绿屏抠像shader修改 透明背景
- 如果在 unity中滚动 3D 骰子
- Unity Game Programming AI(1)人工智能导论
- Unity3D圣典学习【2】之CharacterController
- Unity Notes调制粒子系统的颗粒的最大数目
- Unity 热更新之AssetBundle