unsigned int sw, sh, xsize, gsize, stride;
... ...
ScreenshotClient sc;
sp<IBinder> display = SurfaceComposerClient::getBuiltInDisplay(ISurfaceComposer::eDisplayIdMain);
if( sc.update(display,Rect(), sw,sh, false) != NO_ERROR) {
... ...
sc.release();
return 0;
}
stride = sc.getStride();
mapbase = sc.getPixels();
... ...
以上代码,在其他棒棒糖版本中运行正常。当然,相同版本的nexus7也能正常运行。 但是,nexus5的变化。我的代码引用,但继续代码循环是。而且因为你试图继续屏幕。首先我在nexus5中的代码运行正常。但是,当某个计数为时,更新不会在另一个屏幕下返回以返回错误。更多 ...!在完成我的代码完成后,重新运行,在它是另一个井之后,当涉及到一定数量时会出现相同的现象。如果你有能力知道这个?
对不起,英语不太好。
答案 0 :(得分:0)
我已经解决了。 ScreenshotClient sc 和 sp&lt; IBinder>应将display 声明为全局变量。如果声明了类,则会多次发生错误。 (例如。它在函数中声明要重复。)