Кордова, navigator.camera.getPicture

Я следую полному примеру, представленному в этом месте Полный пример, быстрый пример тоже... Но проблема в том, что я могу сделать снимок, хотя когда я нажимаю кнопку для подтверждения моего изображения, ничего не происходит.

Кто-нибудь может мне помочь? Спасибо

Во-первых, спасибо Андрей!

это мой 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="[email protected]" 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")
   }
}

person Caaarlos    schedule 13.12.2013    source источник
comment
Можете ли вы опубликовать часть кода, который у вас есть?   -  person Andrew Lively    schedule 14.12.2013
comment
Спасибо, Эндрю, я изменил свой вопрос, добавив больше информации...   -  person Caaarlos    schedule 14.12.2013
comment
Вы получаете что-нибудь в imageData ?   -  person Divesh Salian    schedule 14.12.2013
comment
Спасибо, Дивеш Салиан, в imageData ничего нет... Когда я нажимаю кнопку "Захват фото", LogCat показывает мне это сообщение: 12-14 10:22:03.901: W/PluginManager(21009): THREAD WARNING: вызов exec() для Camera.takePicture заблокировал основной поток на 128 мс. Плагин должен использовать CordovaInterface.getThreadPool(). 12-14 10:22:04.166: W/IInputConnectionWrapper(21009): showStatusIcon для неактивного InputConnection   -  person Caaarlos    schedule 14.12.2013
comment
Я нахожу эту проблему здесь stackoverflow.com/questions/15537753/, но у меня это не работает. Я использовал плагин Cordova, добавив org.apache.cordova.file, и он все еще не работает.   -  person Caaarlos    schedule 14.12.2013
comment
Я только что решил ту же проблему, переустановив плагин камеры: cordova plugin rm cordova-plugin-camera cordova plugin add cordova-plugin-camera   -  person Rocco    schedule 28.08.2016