1

getPicture()バックボーン ビューのボタンをクリックしたときに、ユーザーが写真/ビデオを選択できるようにしようとしています。私のビューコードの関連セクションは次のとおりです。

    events: {
        "click .add-moment-media": "addMedia",
    },

    addMedia: function(e) {
        navigator.camera.getPicture(this.successAddMedia, this.errorAddMedia, { 
            quality: 20,
            destinationType: Camera.DestinationType.FILE_URI,
            sourceType: Camera.PictureSourceType.PHOTOLIBRARY,
            mediaType: Camera.MediaType.ALLMEDIA  
        })
    },

    successAddMedia: function(imageURI) {
        showAlert("Your photo has been uploaded!", "Your Photo"  + imageURI);
    },

    errorAddMedia: function(message) {
        showAlert("Failed because: " + message, "Failure");
    }

テスト目的で、成功したときに画像の URI でアラートを表示しようとしています。

問題:ボタンを押すと、期待どおりにギャラリーが表示され、画像を選択できます。アプリに戻ると、アラートはありません。成功アラートもエラー アラートもありません。しかし、ボタンをもう一度クリックすると、前回表示されるはずのアラートが表示され、その上にフォト ギャラリーが表示されます。getPicture()次にボタンが押されるまで、コールバックが起動したくないかのようです。

キッカーは次のとおりです。アプリの他の場所では、適切なタイミングでコールバックを起動してgetPicture()、チャームのように動作しています (PictureSourceType.CAMERA代わりに を使用し、行がバックボーン ビューにないことを除いて)。PictureSourceType.PHOTOLIBRARYこのビューで作業中のコード行をコピーして貼り付けると、上記のコードと同じようにコールバックが遅延します。

これは Android で発生しています。PhoneGap や Backbone などに文書化されていない問題があるかどうかはわかりません。何が問題なのかについて誰か考えがあれば、私は感謝します!

4

0 に答える 0