2017-01-10 4 views
0

アプリがあり、このアプリでは最初のアクティビティでギャラリーから画像を選択するか、カメラで写真を撮ります。ギャラリーから画像を選択して別のアクティビティに送信

次に、写真が必要なアクティビティの間にいくつかのアクティビティがあります。では、最初のアクティビティで選択したこのイメージを、必要なアクティビティにどのように送ることができますか?私はこれらのputExtra()メソッドのようにすることができると思っていましたが、私は別のアクティビティにビットマップを送るために多くのメモリが必要だと読んでいました。

私の目標は、最後のアクティビティでこのイメージをビットマップとして編集することです!

だから私はこの問題を解決する方法をいくつかの解決策を得ましたか?何か案は?ありがとうございました!

+2

'Intent'の' setData() 'を使って画像を指し示す' Uri'を他の活動に送ります。 、 'addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION')と共に。 – CommonsWare

+0

とそれを最後のアクティビティのビットマップにデコードしますか? – Luca486

+0

はい。これは、中間アクティビティがビットマップを必要としないことを前提としています。 – CommonsWare

答えて

0

私は、sandriosCameraというライブラリを使用しています。これは非常に費用がかかり、android 5.0未満でも動作します(CameraApiとCameraApi2を使用する)。ギャラリーピッカーの最近の画像も含まれており、画像の向きが間違っている場合は、マトリックスを使って画像のプレビューを表示(回転)します。 アンドロイドアーセナルでこれを読んで、ライブラリコードのギブサブを見てくださいhttps://android-arsenal.com/details/1/4962 次に画像パスがputExtra()と渡されます(画像が一時的なので、getExtra()の画像のパスを持っている必要があります。 SendActivity。 PD:master.zipをダウンロードし、gradleを使用してライブラリとしてインポートしないことをお勧めします。必要に応じてcostumizeすることができます(ただし、問題を修正する必要があります)。あなたのアンドロイドツール、最大バージョンなどを更新することをお勧めします。

関連する問題