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" />

解决方案 »

  1.   

    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权限,此办法或可行
      

  2.   

    用uid.system这个权限的话,不能正常安装,请教下,如何得到system权限
      

  3.   

    有root权限 然后把应用推到 system/app 目录 尝试一下
      

  4.   

    使用uid.system后需要相关机型的system签名才能在此款机器里面安装,所以我想说的是第三方应用不可能实现系统截屏功能,除非用户手机有root过