博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Unity调用安卓Android的Toast
阅读量:7287 次
发布时间:2019-06-30

本文共 1554 字,大约阅读时间需要 5 分钟。

需求:在游戏中弹窗消息,调起安卓的Toast

项目中需要做Unity和安卓交互时,经常需要通过安卓Toast来做简单的输出,以便于测试。

方法一:Unity中,C#主导

// Unity调用安卓的土司public static void MakeToast(string info){    AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");    AndroidJavaObject currentActivity = unityPlayer.GetStatic
("currentActivity"); AndroidJavaClass Toast = new AndroidJavaClass("android.widget.Toast"); currentActivity.Call("runOnUiThread", new AndroidJavaRunnable(() => { Toast.CallStatic
("makeText", currentActivity, info, Toast.GetStatic
("LENGTH_LONG")).Call("show"); })); /* // 匿名方法中第二个参数是安卓上下文对象,除了用currentActivity,还可用安卓中的GetApplicationContext()获得上下文。 AndroidJavaObject context = currentActivity.Call
("getApplicationContext"); */}

这段代码也是Unity调用安卓(C#主导)的经典例子。项目中可用同样方法来寻找包,找到类成员,调用函数并传参。

 

方法二:Android Studio中,Java主导

import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.widget.Toast;public class MainActivity extends UnityPlayerActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        //setContentView(R.layout.activity_main);    }    // 该方法由Unity调用    public void makeToast(final String msg){        runOnUiThread(new Runnable() {            @Override            public void run() {                Toast.makeText(MainActivity.this, msg, Toast.LENGTH_LONG);            }        });    }}

该方法需要将安卓项目导出aar包,作为插件导入到Unity的Assets目录中,来给Unity使用。

更多参考:

转载地址:http://bfcjm.baihongyu.com/

你可能感兴趣的文章
[spring cloud task]1 简介与示例
查看>>
如何在Ubuntu 11.10下成功安装Java
查看>>
IPv6 command
查看>>
电话号码对应所有英文
查看>>
Storm实验 -- 单词计数
查看>>
用“逐步排除”的方法定位Java服务线上“系统性”故障
查看>>
程序员的职业素养
查看>>
java 内存管理 堆和栈的理解
查看>>
Linux 环境Mysql配置记录(持续记录)
查看>>
文件传输
查看>>
Spring Cloud Finchley版中Consul多实例注册的问题处理
查看>>
电商平台常用缓存策略总结
查看>>
Spring-boot构建
查看>>
在整数中删除数字,使得余下的数字按原次序组成的新数最小
查看>>
Struts2 学习系列 (5) ModelDriven 和 Preparable 拦截器
查看>>
关于YII中的hasMany 和 hasOne的用法
查看>>
mysql的权限作用范围和修改策略
查看>>
MySQL管理与优化(1):SQL基础
查看>>
zlib deflate and inflate class for c++
查看>>
ansible 学习 (三)
查看>>