先在Unity里:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class AndroidTest : MonoBehaviour
{
public Text _text;
public void OnClickBtn()
{
AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
_text.text = jo.Call<string>("U3D_GetValue");
}
}
把脚本挂到一个场景的一个GameObject上,指定UI的Text和按钮方法绑定,导出安卓工程包:
用Android Studio打开:
安卓里:
import android.content.Context;
import android.telephony.TelephonyManager;
//unity调用android的方法返回一个字符串
public String U3D_GetValue(){
TelephonyManager tm = (TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVICE);
String te1 = tm.getLine1Number();//获取本机号码
return te1;
}
最后在Android Studio里打包APK到真机上进程测试,点击按钮可以获取得手机号显示出来。
当然也可以先在Android里写好获取手机号的代码,导出jar包,导入Unity里使用,路径Plugin/Android/xxxx.jar,同时还得一份xml,然后Unity里写调用Jar里的代码,发包也是同样的效果。