我试图在Apache Cordova PhoneGap中实现此功能,但它对我不起作用
How to programmatically take a screenshot in Android?
How can I programmatically take a screenshot of a webview, capturing the full page?
当我打电话给
时 WebView browserView = (WebView) findViewById(R.id.content);
我实际上是对以下对象的引用
LinearLayoutSoftKeyboardDetect
而不是WebView。
有关如何修复它的想法吗?
答案 0 :(得分:0)
基于Cordova / PhoneGap的应用程序将WebView封装到最终从CordovaActivity CordovaActivity扩展的DroidGap类中。此活动包含一个受保护的组件,其中包含wiew CordovaWebView appView ,并配置了 ID等于100 :
protected CordovaWebView appView;
...
this.appView.setId(100);
因此,你应该能够通过寻找ID 100这样做来找到View:
CordovaWebView view = (CordovaWebView) activity.findViewById(100);
Picture picture = view.capturePicture();
Bitmap b = Bitmap.createBitmap (picture.getWidth(),
picture.getHeight(),
Bitmap.Config.ARGB_8888);
picture.draw(new Canvas(b));
FileOutputStream foss = new FileOutputStream(out);
b.compress(Bitmap.CompressFormat.PNG, 100, foss);
foss.close();
这应该有用。