您的位置:首页 > 移动开发 > Unity3D

[Unity][Android]获取设备的操作系统

2017-10-31 14:50 141 查看
根据参考资料1,2。得到下面的 UNITY C++ 代码

private void Awake()

    {

        #if UNITY_ANDROID

                str = "这里是安卓设备^_^";

        #endif

        #if UNITY_IPHONE

                str = "这里是苹果设备>_<";

        #endif

        #if UNITY_STANDALONE_WIN

                str = "我是从Windows的电脑上运行的T_T";

        #endif

    }

这篇文章 的 剩余代码 主要 是 参考资料3的,工程 也是 参考资料3的。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;//使用 该引用,才能获得 Text 组件。

public class Android_Test : MonoBehaviour {

private Transform canvasTras;//UGUI的Canvas
private Text text;//用来显示 界面的文本
private Button btn;//前端的按钮

private AndroidJavaObject jo = null;

private string str;

private void Awake()
{
#if UNITY_ANDROID
str = "这里是安卓设备^_^";
#endif

#if UNITY_IPHONE
str = "这里是苹果设备>_<";
#endif

#if UNITY_STANDALONE_WIN
str = "我是从Windows的电脑上运行的T_T";
#endif
}

// Use this for initialization
void Start () {
//固定写法
AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
jo = jc.GetStatic<AndroidJavaObject>("currentActivity");//获取当前Activity对象,即Android中的MainActivity

canvasTras = GameObject.Find("Canvas").transform;
text = canvasTras.Find("Text").GetComponent<Text>();
btn = canvasTras.Find("Button").GetComponent<Button>();

text.text = str;

btn.onClick.AddListener(Click);//按钮点击事件监听下面的Click()方法
}

//这个方法是在界面点击按钮的时候调用,使用的是UGUI的BUTTON组件
public void Click()
{
text.text = "";//点击的时候先清空
int res = jo.Call<int>("add", 56, 100);//调用Android中的方法,"add"为方法名字,56,100,分别是想加的参数
text.text = "56 + 100的结果是:" + res.ToString();//显示前端
}
}


虚拟机(MUMU模拟器) ,进行测试的结果



参考资料:

1.


Unity获取系统详细信息

http://www.cnblogs.com/Vincentblogs/p/4164565.html

2.


Unity3D判断当前所在平台

http://www.cnblogs.com/wugang/p/3708569.html

3.[Unity][安卓]Unity和Android Studio 3.0 交互通讯(1)Android Studio 3.0 设置
http://blog.csdn.net/bulademian/article/details/78387461
4.

5.

6.

根据参考资料1,2。得到下面的 UNITY C++ 代码

private void Awake()

    {

        #if UNITY_ANDROID

                str = "这里是安卓设备^_^";

        #endif

        #if UNITY_IPHONE

                str = "这里是苹果设备>_<";

        #endif

        #if UNITY_STANDALONE_WIN

                str = "我是从Windows的电脑上运行的T_T";

        #endif

    }

这篇文章 的 剩余代码 主要 是 参考资料3的,工程 也是 参考资料3的。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;//使用 该引用,才能获得 Text 组件。

public class Android_Test : MonoBehaviour {

private Transform canvasTras;//UGUI的Canvas
private Text text;//用来显示 界面的文本
private Button btn;//前端的按钮

private AndroidJavaObject jo = null;

private string str;

private void Awake()
{
#if UNITY_ANDROID
str = "这里是安卓设备^_^";
#endif

#if UNITY_IPHONE
str = "这里是苹果设备>_<";
#endif

#if UNITY_STANDALONE_WIN
str = "我是从Windows的电脑上运行的T_T";
#endif
}

// Use this for initialization
void Start () {
//固定写法
AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
jo = jc.GetStatic<AndroidJavaObject>("currentActivity");//获取当前Activity对象,即Android中的MainActivity

canvasTras = GameObject.Find("Canvas").transform;
text = canvasTras.Find("Text").GetComponent<Text>();
btn = canvasTras.Find("Button").GetComponent<Button>();

text.text = str;

btn.onClick.AddListener(Click);//按钮点击事件监听下面的Click()方法
}

//这个方法是在界面点击按钮的时候调用,使用的是UGUI的BUTTON组件
public void Click()
{
text.text = "";//点击的时候先清空
int res = jo.Call<int>("add", 56, 100);//调用Android中的方法,"add"为方法名字,56,100,分别是想加的参数
text.text = "56 + 100的结果是:" + res.ToString();//显示前端
}
}


虚拟机(MUMU模拟器) ,进行测试的结果



参考资料:

1.


Unity获取系统详细信息

http://www.cnblogs.com/Vincentblogs/p/4164565.html

2.


Unity3D判断当前所在平台

http://www.cnblogs.com/wugang/p/3708569.html

3.[Unity][安卓]Unity和Android Studio 3.0 交互通讯(1)Android Studio 3.0 设置
http://blog.csdn.net/bulademian/article/details/78387461
4.

5.

6.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: