我还没有找到答案,这似乎是一个简单的任务.
我需要能够找到Phonegap调用时使用的WebView:
super.loadUrl("file:///android_asset/www/index.html");
我试图在main.xml文件中创建一个新的WebView并将index.html页面加载到其中,这只会导致Null Pointer Exception.
任何帮助都会很棒.
///
编辑:
下面的代码现在看起来实际上是对视图进行了截屏,因为该文件的大小为823bytes.但是,它仅显示为黑色图像,没有显示任何内容.
在加载视图之前,是否可能过快地截取屏幕截图?还是我做错了其他事?
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.loadUrl("file:///android_asset/www/index.html");
View html = (View)super.appView.getParent();
Bitmap bm2 = Bitmap.createBitmap(200, 300, Bitmap.Config.ARGB_8888);
Canvas c2 = new Canvas(bm2);
html.draw(c2);
OutputStream stream = null;
try {
stream = new FileOutputStream(Environment.getExternalStorageDirectory() +"/bm2.png");
bm2.compress(CompressFormat.PNG, 80, stream);
if (stream != null) stream.close();
} catch (IOException e) {
} finally {
bm2.recycle();
}
}//end
解决方法:
我有一个相同的问题-如何获得对WebView的引用-因此我将发布后代解决方案(以便将来再次找到它).
查看https://github.com/apache/cordova-android/blob/master/framework/src/org/apache/cordova/CordovaActivity.java,使用的WebView似乎是受保护的变量appView,可从您的主要Android类访问.因此,只需使用appView变量.