对android系统截屏理解的来帮忙了

对android系统截屏了解的来帮忙了
android2.3.3源码,以下是jni编的so部分代码

    const String16 name("SurfaceFlinger");

    sp<ISurfaceComposer> composer;

    getService(name, &composer);



    sp<IMemoryHeap> heap;

    uint32_t w, h;

    PixelFormat f;

    composer->captureScreen(0, &heap, &w, &h, &f, 0, 0);

但是heap这里好像没有获取到数据,应该是没有权限,我把能加的权限全部加了,还是搞不定
<uses-permission 
        android:name="android.permission.READ_FRAME_BUFFER" />
    <uses-permission 
        android:name="android.permission.ACCESS_SURFACE_FLINGER" />

------解决方案--------------------
hello ,建议你了解下android权限管理,
<uses-permission 
        android:name="android.permission.READ_FRAME_BUFFER" />
    <uses-permission 
        android:name="android.permission.ACCESS_SURFACE_FLINGER" />
这两个权限均不是APP_XXX 的用户能获取的

第三方的应用程序UserID是从APP_0开始的
如果你程序能得到system权限,此办法或可行
------解决方案--------------------
有root权限 然后把应用推到 system/app 目录 尝试一下