C# en unity llama a clases y métodos en Android Java (AndroidJavaClass)

Descubrí una clase, AndroidJavaClass, que puede llamar a clases y métodos en Android Java, como obtener el número de versión de banda base del dispositivo actual, verificar si el dispositivo puede marcar y luego saltar a la interfaz de acceso telefónico.
Cómo escribir:

// 获取一个 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());

Obtenga el número de versión de banda base del dispositivo:

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")Se crea un objeto buildClassnombrado AndroidJavaClass, que representa la clase en el sistema Android Build. BuildLa clase contiene campos y métodos estáticos para obtener información sobre el dispositivo, la versión del sistema, el hardware y el fabricante.

En string radioVersion = buildClass.CallStatic<string>("getRadioVersion")esta línea de código, llamamos Builda un método estático de clase getRadioVersion()y almacenamos su resultado en una variable de cadena radioVersion. getRadioVersion()El método devuelve el número de versión del firmware de la radio del operador, que es el número de versión de banda base. Por lo tanto, radioVersionla variable contiene el número de versión de banda base del dispositivo Android actual.

Supongo que te gusta

Origin blog.csdn.net/QO_GQ/article/details/130185961
Recomendado
Clasificación