1

そこで、PlayBookカメラを呼び出して、ユーザーに写真を撮ってもらうために、次のコードを使用しています。その後、画像はファイルパス文字列として返されます。

captureImage: function() {
    App.log("App.captureImage > Invoked");
    try {
        blackberry.media.camera.takePicture(App.takePictureComplete, App.cameraClosed, App.cameraError);
    } catch (err) {
        App.log("App.captureImage > Error Occured: " + err);
    }

    App.log("App.captureImage > Complete");
},

takePictureComplete: function(filePath) {
    App.log("App.takePictureComeplete > Image taken and file retrieved: " + filePath);
    App.origin.attr('src', filePath);
},
cameraClosed: function() {
    App.log("App.cameraClosed > Camera closed.");
},
cameraError: function(err) {
    App.log("App.cameraError > ERROR: " + err);
},

これが何が起こったかのログです。どのコールバック関数からも、またはcatchブロックにもロギングがないことに注意してください。

app.js:153 App.captureImage > Invoked
app.js:153 App.captureImage > Complete
index.html:187 TypeError: 'null' is not an object (evaluating 'response.Response')

例外がスローされる行187は、WebKitコードの一部であり、次のものが含まれています。

request.onreadystatechange = function() {
   // continue if the process is completed
   if (request.readyState == 4 && request.status == 200) {
       // retrieve the response
       var response = JSON.parse(request.responseText, jsonReviver);
       responseCallback(response.Response); //LINE 187
   }
};

私はここで何か間違ったことをしていますか、それともこれはAPI自体の問題ですか?私が知る限り、サンプルドキュメントと同じ方法ですべてを実行しました。

4

1 に答える 1

0

私は問題を見つけました,私たちは正しい機能を持っていないか、機能の順序が間違っていると思います.次の機能を使用するとカメラが動作します(Webworkサンプルのキッチンシンクで見つけました): ////////// /////////////////////////////////////////////// ////////////////////////////////////

<rim:permissions>
    <rim:permit>access_shared</rim:permit>
    <rim:permit>record_audio</rim:permit>
    <rim:permit>read_geolocation</rim:permit>
    <rim:permit>use_camera</rim:permit>
    <rim:permit>read_device_identifying_information</rim:permit>
</rim:permissions>

<!-- 
    Universal APIs: 
        The following features are available on both Smartphone and Tablet OS
-->
<feature id="blackberry.app" required="true" version="1.0.0.0"/>
<feature id="blackberry.app.event" required="true" version="1.0.0.0"/>
<feature id="blackberry.system" required="true" version="1.0.0.0"/>
<feature id="blackberry.system.event" required="true" version="1.0.0.0"/>
<feature id="blackberry.ui.dialog" required="true" version="1.0.0.0"/>
<feature id="blackberry.utils" required="true" version="1.0.0.0"/>

<feature id="blackberry.media.camera" required="true" version="1.0.0.0"/>
<feature id="blackberry.media.microphone" required="true" version="1.0.0.0"/>
<feature id="blackberry.identity" required="true" version="1.0.0.0"/>
<feature id="blackberry.invoke" required="true" version="1.0.0.0"/>
<feature id="blackberry.io.file" required="true" version="1.0.0.0"/>
<feature id="blackberry.io.dir" required="true" version="1.0.0.0"/>

<!-- 
    Smartphone APIs: 
        The following features are available ONLY on Smartphone
--> 
<feature id="blackberry.ui.menu" required="true" version="1.0.0.0"/>
<feature id="blackberry.identity.phone" required="true" version="1.0.0.0"/>
<feature id="blackberry.invoke.AddressBookArguments" required="true" version="1.0.0.0"/>
<feature id="blackberry.invoke.BrowserArguments" required="true" version="1.0.0.0"/>
<feature id="blackberry.invoke.CalendarArguments" required="true" version="1.0.0.0"/>
<feature id="blackberry.invoke.CameraArguments" required="true" version="1.0.0.0"/>
<feature id="blackberry.invoke.JavaArguments" required="true" version="1.0.0.0"/>
<feature id="blackberry.invoke.MapsArguments" required="true" version="1.0.0.0"/>
<feature id="blackberry.invoke.MemoArguments" required="true" version="1.0.0.0"/>
<feature id="blackberry.invoke.MessageArguments" required="true" version="1.0.0.0"/>
<feature id="blackberry.invoke.PhoneArguments" required="true" version="1.0.0.0"/>
<feature id="blackberry.invoke.SearchArguments" required="true" version="1.0.0.0"/>
<feature id="blackberry.invoke.TaskArguments" required="true" version="1.0.0.0"/>
<feature id="blackberry.message" required="true" version="1.0.0.0"/>
<feature id="blackberry.message.sms" required="true" version="1.0.0.0"/>
<feature id="blackberry.pim.Address" required="true" version="1.0.0.0"/>
<feature id="blackberry.pim.Attendee" required="true" version="1.0.0.0"/>
<feature id="blackberry.pim.Appointment" required="true" version="1.0.0.0"/>
<feature id="blackberry.pim.category" required="true" version="1.0.0.0"/>
<feature id="blackberry.pim.Contact" required="true" version="1.0.0.0"/>
<feature id="blackberry.pim.Memo" required="true" version="1.0.0.0"/>
<feature id="blackberry.pim.Recurrence" required="true" version="1.0.0.0"/>
<feature id="blackberry.pim.Reminder" required="true" version="1.0.0.0"/>
<feature id="blackberry.pim.Task" required="true" version="1.0.0.0"/>

<feature id="blackberry.audio" required="true" version="1.0.0.0"/>
<feature id="blackberry.audio.Player" required="true" version="1.0.0.0"/>

<feature id="blackberry.find" required="true" version="1.0.0.0"/>
<feature id="blackberry.phone.Phone" required="true" version="1.0.0.0"/>
<feature id="blackberry.phone.PhoneLogs" required="true" version="1.0.0.0"/>

<feature id="blackberry.push" required="true" version="1.0.0.0"/>
<feature id="blackberry.find" required="true" version="1.0.0.0"/>

<!-- 
    Tablet OS APIs: 
        The following features are available ONLY on Tablet OS
    ...
-->
<!--
COMMENT THE FOLLOWING WHEN BUILDING USING THE SMARTPHONE SDK.

<feature id="blackberry.payment" required="true" version="1.0.0.0"/>
-->

<access subdomains="true" uri="*"/>

/////////////////////////////////////////////// /////////////////////////// 幸運を!

于 2012-07-26T09:49:34.563 に答える