Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 查找Phonegap使用的网络视图?_Javascript_Android_Html_Cordova - Fatal编程技术网

Javascript 查找Phonegap使用的网络视图?

Javascript 查找Phonegap使用的网络视图?,javascript,android,html,cordova,Javascript,Android,Html,Cordova,我还没有找到答案,这似乎是一个简单的任务 我需要能够找到Phonegap调用时使用的WebView: super.loadUrl("file:///android_asset/www/index.html"); 我尝试在main.xml文件中创建一个新的WebView,并将index.html页面加载到其中,这只会导致空指针异常 任何帮助都会很好 /// 编辑: 下面的代码现在看起来实际上是截图,因为该文件的大小为823字节。但是,它只显示为黑色图像,没有显示任何内容 这可能是因为在加

我还没有找到答案,这似乎是一个简单的任务

我需要能够找到Phonegap调用时使用的WebView:

    super.loadUrl("file:///android_asset/www/index.html");
我尝试在main.xml文件中创建一个新的WebView,并将index.html页面加载到其中,这只会导致空指针异常

任何帮助都会很好

///

编辑:

下面的代码现在看起来实际上是截图,因为该文件的大小为823字节。但是,它只显示为黑色图像,没有显示任何内容

这可能是因为在加载视图之前截图太快了吗?还是我做错了什么

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
不支持图形缓存

尝试使用
capturePicture()。见:

我有一个相同的问题——如何获得对WebView的引用——因此我将为后代发布我的解决方案(这样我将来可以再次找到它)


现在来看,使用的WebView似乎是受保护的变量
appView
,可以从主Android类访问该变量。因此,只需使用
appView
变量。

在emulator中运行应用程序,并使用层次结构视图尝试跟踪
WebView
R.id
值。它应该是你版面中唯一的
WebView
,好的。@Commonware谢谢你的回复,我已经用一些见解更新了我的原始帖子!很好的回答,我现在可以截图了,但是它只是显示为黑色?我的原始帖子中有更新。@LordSnoutimus:您会注意到我的答案和链接到的答案是指使用
capturePicture()
setPictureListener()
,而不是
draw()
@LordSnoutimus:我建议您将您的担忧考虑在内,因为这似乎是获得电话缺口特定答案的更好资源。我还没有写过PhoneGap插件(可能会在2012年写),所以我不知道如何在插件的范围内完成所需的工作。