我的 android 游戏使用 OpenGL 和 Android NDK。我目前通过从我的 Activity/GLSurfaceView 进行 JNI 本机调用,将必要的 dpi 值作为参数传递。
目前我正在使用:
// request an instance of DisplayMetrics, say 'dm' from android.
float densityFactor = dm.density;
// pass this as a parameter using JNI call
myCustomNativeMethod(densityFactor); # implementation in a 'game.c' file
我只是想知道是否可以在不使用 JNI 接收它们(参数)的情况下访问 android 环境参数。可能就像,导入一些低级 NDK 头文件(.h),这将帮助我直接与 UI 系统通信或什么?
我的意思是:
#import <android_displayparams.h>
...
float densityfactor = getDisplayParamDensity(); // <- Is this possible?
注意:出于好奇,这是一个问题,我知道这样的机制可能不是一个好习惯。