Unity直接调用Android Toast

Unity直接调用Android Toast

这两天在搭一套UI框架,想把Android的Toast直接集成上去,有不想直接打jar包,所有写了个C#直接调用,废话不多说,直接干货:

 1 using UnityEngine;
 2 
 3 public class AndroidExtend : Singleton<AndroidExtend>
 4 {
 5 
 6     #region 属性
 7 
 8     /// <summary>
 9     /// 安卓入口
10     /// </summary>
11     public AndroidJavaClass UnityPlayer { get; private set; }
12 
13     /// <summary>
14     /// 安卓主Activity
15     /// </summary>
16     public AndroidJavaObject CurrentActivity { get; private set; }
17 
18     #endregion
19 
20     #region 初始化
21 
22     protected override void OnInit()
23     {
24         UnityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
25         CurrentActivity = UnityPlayer.GetStatic<AndroidJavaObject>("currentActivity");
26     }
27 
28     #endregion
29 
30     #region 外部接口
31 
32     /// <summary>
33     /// 安卓端弹Toast
34     /// </summary>
35     /// <param name="message">内容</param>
36     /// <param name="duration">时长  毫秒</param>
37     public void Toast(string message, int duration)
38     {
39         AndroidJavaClass jc = new AndroidJavaClass("android.widget.Toast");
40         AndroidJavaObject toast = jc.CallStatic<AndroidJavaObject>("makeText", CurrentActivity, message, duration);
41         toast.Call("show");
42     }
43 
44     #endregion
45 
46 }
View Code

代码比较简单,直接新建一个类把代码粘进去就OK了

 

继续惯例:欢迎交流,QQ:1107628852(加备注)

posted @ 2018-11-05 15:53  ikay  阅读(458)  评论(0编辑  收藏  举报