2

私たちが実装したphonegapアプリケーションは、カメラを使用して画像をキャプチャします。画像がキャプチャされると、imgタグを使用してアプリケーションに一時的に表示され、base64でエンコードされた文字列としてサーバーにアップロードされます。

私たちの要件は、モバイルのギャラリーに画像が保存されないようにすることです。

これを解決するために、phonegap 2.0フレームワークで提供されているSaveToPhotoAlbum:falseオプションを使用しました

コードの抜粋を以下に示します

        navigator.camera.getPicture(captureSurfaceSuccess(surface), captureSurfaceFail, {
        destinationType: Camera.DestinationType.DATA_URL,
        sourceType: Camera.PictureSourceType.CAMERA,
        quality: 30,
        targetWidth: 1600,
        targetHeight: 1200,
        saveToPhotoAlbum: false
    });

DATA_URLとFILE_URIを試しましたが、さまざまな携帯電話で次の動作が見られます。

  1. 一部のデバイスはギャラリーに保存されません-要件
  2. 一部のデバイスは、ギャラリーと一時的な場所に保存されます。(FILE_URI)
  3. 一部のデバイスはギャラリーにのみ保存されます。

ここに投稿:撮影したカメラインテント写真の後にギャラリー画像を削除する と、これはAndroidのネイティブな問題であると説明されますが、ギャラリーでの保存は絶対に禁止する必要があるため、最後のファイルを削除することをお勧めする解決策は適用できません。

この問題を解決する代替案、またはこの問題を防ぎ、生データを送信するphonegap用のカスタムカメラプラグインの可用性を知りたいです。

また注意:現在、Androidは唯一のターゲットモバイルプラットフォームです

4

1 に答える 1

1

画像をキャプチャして圧縮し、base64文字列としてCordova WebViewに渡す独自のSurfaceViewカメラプラグインを使用して、この問題を解決することができました。これにより、Cordovasがギャラリーに暗黙的に保存することなく、メモリ内の画像を管理できるようになりました。

于 2015-02-22T05:14:55.367 に答える