Android:如何从本机代码获取设备DPI

时间:2012-10-11 00:01:13

标签: android java-native-interface native dpi

我们正在开发基于现有本机库的Android应用程序。我们有一组JNI类来公开本机API。本地库有一个DPI全局静态变量需要在这个块中初始化:

JNIEXPORT jint JNICALL JNI_OnLoad( JavaVM *vm, void *pvt ) {
 ...
}

问题是如何在本机级别获取设备DPI。我知道在Java级别,一旦活动启动,您可以通过WindowManager轻松获取属性。是否有可能在我的活动启动之前获得该属性?

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

我记得,您需要上下文才能获得DPI,但在本机代码中则没有。我建议您添加一个将在 Application.onCreate 中调用的本机方法并设置您的本机变量。这不会在 JNI_OnLoad 中完成,而是在任何活动开始之前完成。