4

PhoneGap の機能をテストするアプリを作成しているので、後で大規模なプロジェクトに使用できます。画像をキャプチャして表示するだけの簡単なテスト アプリを作成して、カメラ API を機能させようとしていました。奇妙なことに、トリガーボタンを押すとnavigate.camera.getPicture()写真を撮ることができますが、写真を確認できないため、プロセスがアプリに戻ってキャプチャされた画像が得られます。他のすべてのボタンは期待どおりに機能しているため、たとえばキャンセルを押すと、アプリに正しく戻り、2 番目navigate.camera.getPicture()のパラメーターとして (エラー ハンドラー) に渡された関数が実行されます。

これが私が呼び出す方法ですnavigate.camera.getPicture()

navigator.camera.getPicture( function( uri ) {
    // code to handle success
}, function( msg ) {
    // code to handle error
}, {
    quality: 100,
    destinationType: Camera.DestinationType.FILE_URI,
    encodingType: Camera.EncodingType.PNG,
    targetWidth: 2000,
    targetHeight: 2000,
    correctOrientation: true,
    saveToPhotoAlbum: false
} );

destinationType を除くすべての構成パラメーターをコメントアウトして、それが役立つかどうかを確認しようとしました。

私の config.xml には、カメラを許可する次の行があります。

<plugin name="Camera" value="org.apache.cordova.CameraLauncher" />
<feature name="http://api.phonegap.com/1.0/camera" />

私のデバッグ環境は、Android 4.2.1 を実行している Galaxy Nexus です。

Ripple でアプリを実行したところ、期待どおりに動作しました。

アプリは、私のマシンの Android SDK ではなく、PhoneGap Build でビルドされています。

ここに欠けているものはありますか?

よろしくお願いします=)

4

1 に答える 1

3

Android 4.2 を実行している Galaxy Nexus で PhoneGap Build でビルドされたアプリを実行すると、同じ問題が発生しました。config.xml で次の 2 つの機能ディレクティブを使用して、この問題を解決できました。

<feature name="http://api.phonegap.com/1.0/camera"/>
<feature name="http://api.phonegap.com/1.0/file"/>

残念ながら、logcat からのエラーはありませんでしたが、これでうまくいったようです。お役に立てれば!

于 2013-04-16T00:32:20.203 に答える