发现了一个类AndroidJavaClass,可以调用Android Java 中的类和方法,比如说获取当前设备的基带版本号,检测设备是否可以进行拨号,然后跳转到拨号界面啥的。
写的方法:
// 获取一个 AndroidJavaObject 对象,该对象表示 java.text.SimpleDateFormat 类
AndroidJavaClass simpleDateFormatClass = new AndroidJavaClass("java.text.SimpleDateFormat");
// 创建一个 SimpleDateFormat 对象实例
AndroidJavaObject simpleDateFormat = simpleDateFormatClass.CallStatic<AndroidJavaObject>("getInstance");
// 调用对象实例上的 parse() 方法
AndroidJavaObject date = simpleDateFormat.Call<AndroidJavaObject>("parse", "2021-08-04 16:36:00");
// 将 Java Date 对象转换为 C# DateTime 对象
DateTime dateTime = new DateTime(date.Call<long>("getTime") * 10000 + DateTimeOffset.FromUnixTimeMilliseconds(0).Ticks, DateTimeKind.Utc);
Debug.Log(dateTime.ToString());
获取设备的基带版本号:
public string IsRunningOnEmulator6()
{
if (Application.platform == RuntimePlatform.Android)
{
AndroidJavaClass buildClass = new AndroidJavaClass("android.os.Build");
string radioVersion = buildClass.CallStatic<string>("getRadioVersion");
return radioVersion;
}
return "";
}
AndroidJavaClass buildClass = new AndroidJavaClass("android.os.Build")
创建了一个名为 buildClass
的 AndroidJavaClass
对象,该对象表示 Android 系统中的 Build
类。Build
类包含了关于设备、系统版本、硬件和制造商等信息的静态字段和方法。
在 string radioVersion = buildClass.CallStatic<string>("getRadioVersion")
这行代码中,我们调用了 Build
类的静态方法 getRadioVersion()
并将其结果存储在字符串变量 radioVersion
中。getRadioVersion()
方法返回运营商无线电固件版本号,即基带版本号。因此,radioVersion
变量包含当前 Android 设备的基带版本号。