phonegap camera API不会在捕获图像的攻击时触发SuccessCallBack方法

时间:2011-05-10 08:18:36

标签: android cordova webview camera

我正在使用Phonegap API捕获图像。

一旦我拍照并附上它,我的成功回叫方法就不会被调用。

以下是我如何实施它。

  1. 我已将Phonegap.jar文件添加到libs中,并将其添加到构建路径中。
  2. 在我的Main Activity上扩展了我指定的DroidGap类 super.loadUrl( “http://test.someU.com/Android/testandroid.html”);

  3. 此页面testandroid.html包含对PhoneGap.js脚本文件的引用,另一个js称为main。

  4. 单击相机按钮时相机会打开,但在附加捕获的图像时,不会调用成功回调方法。

    function dump_pic(data) {
        alert(data);        
    }
    
    function fail(msg) {
        alert(msg);
    }
    
    function show_pic() {
        navigator.camera.getPicture(dump_pic, fail, { quality: 50 });
    }
    
  5. 在成功附加拍摄照片时,必须调用dump_pic,并且警告base64数据没有任何反应。

    现在,如果我实现相同但略有不同 那是我在资源文件夹下有一个www文件夹,我有一个文件说index.html和上面相同的代码,这里唯一的区别是super.loadUrl 方法更改为super.loadUrl(“file:///android_asset/www/index.html”);正如phonegap示例所做的那样,一切正常,它称为成功回调方法,也就是故障时的失败方法。

    我已经实现的应用程序是一个Web应用程序,必须通过第一种方法工作。任何想法如何通过这个。非常感谢任何帮助

1 个答案:

答案 0 :(得分:1)

出于安全原因,这是一个正确的手机应用行为。

如果您可以从Webview中加载的网页访问摄像头,则会出现许多可能的安全隐患。

您必须从本地index.html文件加载相机。

了解如何在手机上部署您的应用并使用市场进行更新。