Android:如何从本地代码中获取设备的DPI

3

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

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

问题是如何在本地层面获取设备DPI。我知道在Java层面,一旦活动启动,可以通过WindowManager轻松获取该属性。那么,在我的活动启动之前是否可能获取该属性呢?
感谢您的帮助。
1个回答

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接