unity无法调用android,Unity3D调用android方法(非插件方式)
关于Unity3D工程与android工程的转换与合并,请参考我的另外一篇博客,如果你对Unity3D工程加入到android工程的过程不熟悉,也请先看完下面这篇博客:
下面,我们来说说本博客的终端,Unity3D调用android的方法:
1.首先,在网络上大家可以看到很多把android project打包,然后以插件的方式,放入Unity3D工程中来调用的方式,这种方式,我不做评论,但是很麻烦,所以我也没有进行尝试,大家有兴趣可以到网络上搜索一下看看。
2.如果讲Unity3D的project导出为android project然后进行再次开发的过程中,需要Unity3D调用android的方法,这个时候,再使用1中的方法,显然是不合适的。
那么我们要怎么样来做呢?分为下面几部分:
1.在初始化UnityPlayer的Activity中添加方法,如下:
/**
* 测试Unity调用Android的方法
*/
public void testMethod(String param){
System.out.println("参数为:"+param);
}
对于提供的方法,不可以进行UI操作,因为Unity3D对于android的UI线程来说,只是个子线程,如果要进行UI操作,可以使用Handler发消息。
2.在Unity工程中,利用c#文件来书写,Unity调用的代码:
public static void ActivateShareImage(string content)
{
if (Application.platform == RuntimePlatform.IPhonePlayer)
{
_PressButton3(content);
}
else if (Application.platform == RuntimePlatform.Android)
{
UISystem.Console("test method!");
AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject jo = jc.GetStatic("currentActivity");
jo.Call("testMethod", "unity");
}
else
{
}
}3,如果你已经有android项目了,那么就把新修改的Unity3D的项目导出为android project的,把新导出的project中的assets的文件夹,替换掉之前老的project中的,这样做的目的是更换Unity的改动,如果改动了其他的东西,也是这样更换的,但是如果你的assets文件夹下还有其他资源,请保留。
如果,你没有android项目,那么就把Unity3D的项目导出为android的project项目使用。
4.对于AndroidJavaClass这个类,以及它提供的方法,大家可以参考下面的网站:
这样,就可以完成调用了,根本就不需要使用插件。关于android向Unity3D发送消息,日后会发博客叙述。
unity无法调用android,Unity3D调用android方法(非插件方式)相关推荐
- android 引用非 android 工程,Unity3D调用android方法(非插件方式)
关于Unity3D工程与android工程的转换与合并,请参考我的另外一篇博客,如果你对Unity3D工程加入到android工程的过程不熟悉,也请先看完下面这篇博客: android与Unity3D ...
- Unity3D调用android方法(非插件方式)
关于Unity3Dproject与androidproject的转换与合并,请參考我的另外一篇博客.假设你对Unity3Dproject增加到androidproject的过程不熟悉.也请先看完以下这 ...
- 【Unity3D】Android Studio 工程中使用 Java 代码调用 Unity 的 C# 脚本 ( Java 中调用 UnityPlayer#UnitySendMessage 方法 )
文章目录 一. Java 调用 C# 依赖库准备 1.依赖库位置 2.unityLibrary 依赖库位置 二. Java 调用 C# 的 UnityPlayer#UnitySendMessage 方 ...
- unity3d调用android方法,Unity3D 调用Android原生方法2
原创文章如需转载请注明:转载自 脱莫柔Unity3D学习之旅Unity3D引擎技术交流QQ群:[119706192]本文链接地址:Unity3D 调用Android原生方法2 记一次Unity通过An ...
- unity调用 Android 分享图片文字 方法 不需要第三方sdk 兼容android7.0+
直接说方法把,在Android Studio中 新建一个工程,新建时选择Add No Activity,包名跟unity中设置的一样比如这里用 come.demo.share 在res目录下新建个文件 ...
- Unity3D调用Android提供的接口
需求:Android提供相关的接口,android只提供接口,没有相关的界面,android接口打包以jar包的形式供Unity3D调用 1.编写相关的android接口 在studio中新建工程,并 ...
- android 虚方法,尝试在空对象引用上调用虚方法’android.view.View android.view.View.getRootView()’...
我收到这个错误, "Attempt to invoke virtual method 'android.view.View android.view.View.getRootView()' ...
- android利用反射调用截屏api,Android利用反射机制调用截屏方法和获取屏幕宽高的方法...
想要在应用中进行截屏,可以直接调用 View 的 getDrawingCache 方法,但是这个方法截图的话是没有状态栏的,想要整屏截图就要自己来实现了. 还有一个方法可以调用系统隐藏的 screen ...
- Android和IOS 调用 支付宝和微信 支付方法
Android和IOS 调用 支付宝和微信 支付方法 转载于:https://www.cnblogs.com/huangzineng/p/7235705.html
最新文章
- 阿里云异构计算产品家族亮相 覆盖全场景AI和高性能计算需求
- java.lang.NoClassDefFoundError:如何解决–第1部分
- MAC配置JCO,与找不到sapjco3异常
- SpringBoot2.x整合quartz定时任务 快速入门
- java i/o 流详解_java I/O流详解
- html中注释有几种_历史尝试:小白HTML学习笔记(2)
- 人的烦恼大部分来自于没钱
- 重金悬赏丨2019 华为 IoT 开发者大赛喊你加入“群聊”,倾听科技的“声音”!...
- UnityShader14:透明效果实现(上)
- 从0开始构建自己的前端知识体系-JS-事件-键盘事件总结
- uniapp 根据经纬度逆转地理地质
- python缩进格式错误修改_Python,意外的缩进错误解析,Pythonunexpectedindent,解决,方法...
- 台安变频器n2按键说明_台安n2系列变频器说明书
- 关于42步进电机驱动——基于STM32 HAL库实现
- POJ 2774 Long Long Message
- linux 报错:http://people.centos.org/tru/devtools-2/7/x86_64/RPMS/repodata/repomd.xml: [Errno 14]
- 什么样的人适合学习嵌入式开发
- 山东电销机器人_山东自主研发电销机器人意向客户微信端推送 欢迎来电「南京和付信息科技供应」...
- scratch编写游戏:火柴人避开防守投篮
- 循环语句(while)