java – android通过C获取屏幕大小

前端之家收集整理的这篇文章主要介绍了java – android通过C获取屏幕大小前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我希望通过c获得屏幕尺寸.我知道jni支持从c调用java.但有谁知道另一种方法?我的意思是从低级模块获取屏幕大小而不调用java.

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;

public class MainActivity extends Activity
{

    @Override
    public void onCreate(Bundle savedInstanceState)
    {
    super.onCreate(savedInstanceState);
    Log.v("getWidth",Integer.toString(getWindowManager().getDefaultDisplay().getWidth()));
    Log.v("getHeight",Integer.toString(getWindowManager().getDefaultDisplay().getHeight()));
    }
}

我认为/ dev / graphics与我的问题有关

最佳答案
是的,您可以从/ dev / graphics / fb0获得屏幕分辨率,但(至少在我的手机上),读取权限仅限于“图形”组中的root用户用户.无论如何,您可以执行以下操作(为清晰起见,错误检查已删除):

// ... other standard includes ...
#include 

我不确定这些是否被认为是“公共”NDK接口,因为我不知道Google是否认为“Android在Linux上运行并使用Linux Framebuffer接口”是公共API的一部分,但它确实似乎工作.

如果你确实想要确保它是可移植的,那么你应该有一个调用Java WindowManager API的JNI回退.

猜你在找的Android相关文章