javascript - 找到Phonegap使用的WebView?

标签 javascript android html cordova

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

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

    super.loadUrl("file:///android_asset/www/index.html");

我已经尝试在 main.xml 文件中创建一个新的 WebView 并将 index.html 页面加载到其中,这只会导致空指针异常。

任何帮助都会很棒。

///

编辑:

由于文件大小为 823 字节,下面的代码现在似乎实际上截取了 View 的屏幕截图。但是,它只显示为黑色图像,没有显示任何内容。

这可能是因为它在加载 View 之前截取屏幕截图的速度太快了吗?还是我做错了什么?

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 似乎是 protected 变量 appView,可以从您的主 Android 类访问它。所以只需使用 appView 变量即可。

关于javascript - 找到Phonegap使用的WebView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8205510/

相关文章:

javascript - Vue js动态绑定(bind)背景图像样式不起作用

javascript - 如何通过鼠标悬停使 div 元素可见/隐藏

javascript - 缩放 meteor (非技术人员的问题)

javascript - 控制速度和改变球的颜色

javascript - React/Material 使用 withStyles 将鼠标悬停在元素上时隐藏元素的子元素

java - 使用 Eclipse 从 Android 中的 C 代码调用 Java 函数,而不调用 Java

android - 将字符串转换为日期和时间并提取年、月、日、星期几、小时和分钟

javascript - 在 Web View 应用程序中使用 localStorage 安全吗?

javascript - Bootstrap : ScrollSpy and smooth scroll

Javascript 将事件 "mousedown"替换为 "spacebar"