登録プロセス中にユーザーから写真を取得しようとしています。フォームと、カメラ、ギャラリー、ドロップボックスなどを起動し、ユーザーに写真を選択または撮影するように求めるボタンがあります。
ボタンonClickメソッドでは、このトピックの2番目の回答の例を使用しています。ユーザーが画像のカメラまたはギャラリーを選択できるようにすると、オプションとして画像アプリとのダイアログが開きます。写真を撮るか選択した後、onActivityResultの私のコードは次のとおりです。
Bundle extras = data.getExtras();
Bitmap mImageBitmap = (Bitmap) extras.get("data");
foto.setImageBitmap(mImageBitmap)
だから私は2つの問題があります。まず、これはサムネイル画像のみを取得し、必要なフルサイズの画像は取得しません。第二に、これはユーザーがカメラで新しい写真を撮ることを選択した場合にのみ機能します...
フルサイズの写真を取得するために、このコードは良いAndroidカメラの意図のようです:フルサイズの写真を取得する方法は?しかし、それはカメラで撮った写真のためだけであり、このチューザーの意図でも、このコードがどこに収まるかはわかりません。魔女のソースの使用が選択されていることを確認する必要がありますか?もしそうなら、どうすればそれを行うことができますか?
編集:チューザーインテントは、カメラ、ギャラリー、ドロップボックス、ASTROファイルマネージャーの4つの画像ソースオプションを提供します。もちろん、他のアプリをインストールしておけば、もっと多くのオプションを利用できるでしょう。だから私はそれぞれの場合にインテントの内容をチェックしました:
CAMERA: act=inline-data (has extras)
DROPBOX and GALLERY: dat="file path"
ASTRO: dat="file path" (has extras)
したがって、インテントに余分なものがあるかどうかを確認しても、ソースはわかりません。また、data.hasExtra( "act")とdata.hasExtra( "dat")の両方がfalseを返しています。