Cordova,navigator.camera.getPicture

时间:2013-12-13 20:21:57

标签: cordova cordova-3

我正在关注此位置Full example上的完整示例,这也是一个快速示例...但问题是我可以拍照,但是当我点击按钮确认我的照片时没有任何反应。

有人能帮助我吗? 感谢

首先,谢谢安德鲁!

这是我的index.html

<!DOCTYPE html>
<html>
   <head>
    <title>Capture Photo</title>

    <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
    <script type="text/javascript" charset="utf-8">

    var pictureSource;   // picture source
    var destinationType; // sets the format of returned value

    // Wait for device API libraries to load
    //
       document.addEventListener("deviceready",onDeviceReady,false);

   // device APIs are available
   //
      function onDeviceReady() {
              pictureSource=navigator.camera.PictureSourceType;
              destinationType=navigator.camera.DestinationType;
      }

   // Called when a photo is successfully retrieved
   //
       function onPhotoDataSuccess(imageData) {
             // Uncomment to view the base64-encoded image data
               //console.log(imageData);

            // Get image handle
            //
            var smallImage = document.getElementById('smallImage');

            // Unhide image elements
            //
             smallImage.style.display = 'block';

            // Show the captured photo
            // The in-line CSS rules are used to resize the image
            //
              smallImage.src = "data:image/jpeg;base64," + imageData;
       }

     // Called when a photo is successfully retrieved
     //
      function onPhotoURISuccess(imageURI) {
          // Uncomment to view the image file URI
          // console.log(imageURI);

          // Get image handle
          //
          var largeImage = document.getElementById('largeImage');

         // Unhide image elements
         //
          largeImage.style.display = 'block';

         // Show the captured photo
         // The in-line CSS rules are used to resize the image
         //
          largeImage.src = imageURI;
      }

// A button will call this function
//
    function capturePhoto() {
    // Take picture using device camera and retrieve image as base64-encoded string
          navigator.camera.getPicture(onPhotoDataSuccess, onFail, { quality: 50,
              destinationType: destinationType.DATA_URL });
    }

// A button will call this function
//
    function capturePhotoEdit() {
    // Take picture using device camera, allow edit, and retrieve image as base64-         encoded string
  navigator.camera.getPicture(onPhotoDataSuccess, onFail, { quality: 20, allowEdit:     true,
    destinationType: destinationType.DATA_URL });
}

// A button will call this function
//
function getPhoto(source) {
  // Retrieve image file location from specified source
  navigator.camera.getPicture(onPhotoURISuccess, onFail, { quality: 50,
    destinationType: destinationType.FILE_URI,
    sourceType: source });
}

// Called if something bad happens.
//
function onFail(message) {
  alert('Failed because: ' + message);
}

</script>
</head>
<body>
    <button onclick="capturePhoto();">Capture Photo</button> <br>
    <button onclick="capturePhotoEdit();">Capture Editable Photo</button> <br>
    <button onclick="getPhoto(pictureSource.PHOTOLIBRARY);">From Photo Library</button>     
    <button onclick="getPhoto(pictureSource.SAVEDPHOTOALBUM);">From Photo Album</button>   
    <img style="display:none;width:60px;height:60px;" id="smallImage" src="" />
    <img style="display:none;" id="largeImage" src="" />
</body>
</html>

这是config.xml

 <?xml version='1.0' encoding='utf-8'?>
<widget id="br.teste.emp" version="0.0.1" xmlns="http://www.w3.org/ns/widgets"  xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>Hello Cordova</name>
<preference name="loglevel" value="DEBUG" />
<feature name="App">
    <param name="android-package" value="org.apache.cordova.App" />
</feature>
<name>HelloWorld</name>
<description>
    A sample Apache Cordova application that responds to the deviceready event.
</description>
<author email="dev@cordova.apache.org" href="http://cordova.io">
    Apache Cordova Team
</author>
<content src="index.html" />
<access origin="*" />
<feature name="Camera">
    <param name="android-package" value="org.apache.cordova.camera.CameraLauncher" />
</feature>
</widget>

这是我的班级

package br.teste.emp;
import android.os.Bundle;
import org.apache.cordova.*;

public class HelloWorld extends CordovaActivity {
   @Override
   public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      super.init();
      // Set by <content src="index.html" /> in config.xml
      super.loadUrl(Config.getStartUrl());
      // super.loadUrl("file:///android_asset/www/index.html")
   }
}

0 个答案:

没有答案