2012-10-11 45 views
3

我們正在開發基於現有本機庫的Android應用程序。我們有一組JNI類揭露本地APIs.The本地庫有一個DPI全局靜態變量需要在該塊被初始化:Android:如何從本機代碼獲取設備DPI

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

的問題是,如何獲取設備DPI對本地水平。我知道,在Java級別上,一旦活動啓動,您可以通過WindowManager輕鬆獲取屬性。在我的活動啓動之前是否有可能獲得房產?

感謝您的幫助。

回答

1

我記得,你需要有上下文得到DPI,但在本地代碼中,你沒有。我建議您添加一個本地方法,將在Application.onCreate中調用並設置您的本地變量。這不會在JNI_OnLoad中完成,但在任何活動開始之前。

相關問題