Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.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 3.0_Javascript_Html_Cordova_Blackberry 10 - Fatal编程技术网

Javascript 找不到分机摄像头-Phonegap 3.0

Javascript 找不到分机摄像头-Phonegap 3.0,javascript,html,cordova,blackberry-10,Javascript,Html,Cordova,Blackberry 10,我正在使用PhoneGap3,正在黑莓10设备上进行测试。我无法使照相机工作。我添加了摄像头插件,但当我点击应用程序中的按钮拍照时,我发现了错误 'Failed because: Extension Camera not found.' 当我在Ripple中测试时,我在控制台上得到的错误是 'Cannot read property 'PictureSourceType' of undefined' when the page first loads 及 尝试拍照时出现“ReferenceE

我正在使用PhoneGap3,正在黑莓10设备上进行测试。我无法使照相机工作。我添加了摄像头插件,但当我点击应用程序中的按钮拍照时,我发现了错误

'Failed because: Extension Camera not found.'
当我在Ripple中测试时,我在控制台上得到的错误是

'Cannot read property 'PictureSourceType' of undefined' when the page first loads

尝试拍照时出现“ReferenceError:相机未定义”

config.xml

<?xml version='1.0' encoding='utf-8'?>
<widget id="default.app.id" version="1.0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:rim="http://www.blackberry.com/ns/widgets">
    <name>Webworks Application</name>
    <author>Your Name Here</author>
    <description>
       A sample Apache Cordova application that responds to the deviceready event.
  </description>
    <license href="http://opensource.org/licenses/alphabetical">
    </license>
    <access subdomains="true" uri="file:///store/home" />
    <access subdomains="true" uri="file:///SDCard" />
    <access subdomains="true" uri="*" />
    <icon src="res/icon/blackberry/icon-80.png" />
    <rim:splash src="res/screen/blackberry/splash-1280x768.png" />
    <rim:splash src="res/screen/blackberry/splash-720x720.png" />
    <rim:splash src="res/screen/blackberry/splash-768x1280.png" />
    <content src="index.html" />
    <rim:permissions>
        <rim:permit>use_camera</rim:permit>
        <rim:permit>read_device_identifying_information</rim:permit>
        <rim:permit>access_shared</rim:permit>
        <rim:permit>read_geolocation</rim:permit>
        <rim:permit>record_audio</rim:permit>
        <rim:permit>access_pimdomain_contacts</rim:permit>
    </rim:permissions>
    <feature name="Camera">
    <param name="android-package" value="org.apache.cordova.CameraLauncher" />
</feature>
    <feature name="NetworkStatus" value="NetworkStatus" />
</widget>

Webworks应用程序
脱机模式
斯内普肯

var candata={cantitle:,candetail:,canlat:,canlon:}; var cantemplate='{candetail}}映射占位符'; var-lat,long; var pictureSource;//图像源 var destinationType;//设置返回值的格式 $(document).on(“pageinit”,function(){ $('#newcan')。在('pagecreate',函数(事件){ var html=Mustache.to_html(cantemplate,candata); $(“#candetailcontent”).html(html); }); $(#newcan”)。在(“pageshow”,function()上{ navigator.geolocation.getCurrentPosition(onGeoSuccess,onGeoError); }); $(“#addphoto”).bind(“点击”,函数(){ var options={sourceType:Camera.PictureSourceType.PHOTOLIBRARY,destinationType:Camera.destinationType.FILE_URI}; navigator.camera.getPicture(onCameraSuccess、onError、options); }); }); 函数onLoad(){ 文件。添加的监听器(“deviceready”,OnDeviceraddy,false); 文件。附录列表(“在线”,在线,假); 文档。addEventListener(“脱机”,onOffline,false); } //Cordova已加载,现在可以安全地调用Cordova方法 // 函数ondevicerady(){ console.log(“ondevicerady”); pictureSource=navigator.camera.PictureSourceType; destinationType=navigator.camera.destinationType; } //处理在线事件 // 函数onOnline(){ $(“.offline”).css(“可见性”、“隐藏”); } 函数onOffline(){ $(“.offline”).css(“可见性”、“可见”); } 功能onGeoSuccess(位置){ 纬度=位置坐标纬度; lon=位置坐标经度; var currentposition=new google.maps.LatLng(lat,lon); 变量映射选项={ 缩放:12, 中心:当前位置, mapTypeId:google.maps.mapTypeId.ROADMAP }; var map=new google.maps.map(document.getElementById(“map”)、mapoptions); var marker=new google.maps.marker({ 职位:当前职位, 地图:地图 }); } 函数onCameraSuccess(imageURI){ $('#canimage').attr(“src”,imageURI); $('#canimage').css(“显示”、“块”); } 函数onGeoError(错误){ 如果(错误==1){ 警报(“打开地理定位服务”); } } 函数onCameraError(消息){ 警报(信息); }

为什么我不能访问摄像头?

请检查您的www文件夹中是否有>cordova.js,否则请指定与cordova.js相同的名称,例如

<!DOCTYPE html>
<html>
  <head>
   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <meta name="format-detection" content="telephone=no" />
        <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />

  <link rel="stylesheet" href="css/jquery.mobile-1.3.2.min.css">
    <link rel="stylesheet" href="css/index.css">
    <script src="js/jquery.js"></script>
    <script src="js/jquery.mobile-1.3.2.min.js"></script>
    <script src="js/mustache.js"></script>
    <script src="cordova.js"></script>
    <script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>
    <link href="http://code.google.com/apis/maps/documentation/javascript/examples/default.css" rel="stylesheet" type="text/css" />

</head>
<body onload="onLoad()">
    <div data-role="page" id="main">
    <div data-role="header" class="logo">
        <img src="img/logo.png" />
    </div>
    <div data-role="content">
        <ul id="canlist" data-role="listview">
        </ul>
        <a href="#newcan" data-role="button" data-icon="plus">New can</a>
    </div>

    <div data-role="footer" data-theme="c">
        <h2 class="offline">Offline Mode</h2>
    </div>

</div>
<div data-role="page" id="newcan">
    <div data-role="header" class="logo">
        <img src="img/logo.png" />
    </div>
    <div id="candetailcontent" data-role="content">
    </div>
    <div data-role="footer" data-theme="c">
        <p>Snapcan!</p>
    </div>
</div>
<script>
var candata = {cantitle:"", candetail:"", canlat:"",canlon:""};
var cantemplate = '<input type="text" name="cantitle" value="{{cantitle}}" placeholder="Can Title"/><textarea cols="40" rows="8" name="candetail" id="candetail" placeholder="Can Detail">{{candetail}}</textarea><input id="addphoto" type="button" data-icon="plus" value="Add a photo" /><img id="canimage" src="{{imagesource}}" /><div id="map">Map Placeholder</div><input id="savecan" type="button" data-theme= "a" value="Save Can"/>';
var lat,long;
 var pictureSource;   // picture source
    var destinationType; // sets the format of returned value
$(document).on("pageinit", function(){
                                               $('#newcan').on('pagecreate', function(event){
                                                                  var html = Mustache.to_html(cantemplate, candata);
                                                                  $("#candetailcontent").html(html);
                                                                  });
                                               $("#newcan").on("pageshow", function(){
                                                                  navigator.geolocation.getCurrentPosition(onGeoSuccess, onGeoError);
                                                                  });
                                               $("#addphoto").bind("tap", function(){
                                                                   var options = {sourceType:Camera.PictureSourceType.PHOTOLIBRARY, destinationType: Camera.DestinationType.FILE_URI};
                                                                   navigator.camera.getPicture(onCameraSuccess, onError, options);
                                                                   });
                                               });


    function onLoad() {
        document.addEventListener("deviceready", onDeviceReady, false);
        document.addEventListener("online", onOnline, false);
        document.addEventListener("offline", onOffline, false);

    }

    // Cordova is loaded and it is now safe to make calls Cordova methods
    //
    function onDeviceReady() {
        console.log("onDeviceReady");
         pictureSource=navigator.camera.PictureSourceType;
        destinationType=navigator.camera.DestinationType;
    }

    // Handle the online event
    //
    function onOnline() {
       $(".offline").css("visibility", "hidden");
    }

    function onOffline() {
        $(".offline").css("visibility", "visible");
    }

function onGeoSuccess(position) {
            lat = position.coords.latitude;
            lon = position.coords.longitude;
            var currentposition = new google.maps.LatLng(lat,lon);

            var mapoptions = {
                zoom: 12,
                center: currentposition,
                mapTypeId: google.maps.MapTypeId.ROADMAP
            };

            var map = new google.maps.Map(document.getElementById("map"), mapoptions);


            var marker = new google.maps.Marker({
                    position: currentposition,
                    map: map
            });
        }

        function onCameraSuccess(imageURI){
            $('#canimage').attr("src", imageURI);
            $('#canimage').css("display","block");
        }   
function onGeoError(error){
    if(error==1){
    alert('Turn on Geolocation services');  
    }
}

function onCameraError(message){
    alert(message); 
}
    </script>
  </body>
</html>