Re: カメラインテント使用時の画像の保存先について

1,015 views
Skip to first unread message

NickQ

unread,
Nov 5, 2012, 4:49:56 AM11/5/12
to android-g...@googlegroups.com
はじめまして、NickQと申します。
 
インテントしたカメラアプリの方で保存されているなら制御という部分では厳しくないですかね?
リザルトで貰えるならそれを消すとか移動で解決しませんかね。

2012年11月1日木曜日 9時07分39秒 UTC+9 うらお:

はじめてお世話になります うらおと申します。
現在、カメラの機種依存について困っています。

現在、暗黙インテントを使用しカメラを起動
その戻り値を画面のイメージビューにVGAサイズで表示 という処理を組み込んでいます。
そこで困ったことが発生しています。
同じ画像が一部機種によってアプリ側で指定したフォルダとカメラアプリ独自作成のフォルダに作成されてしまいます。

【現行処理】
①カメラ起動ボタン押下時に画像の格納パスをContentResolverを用い作成
②暗黙インテントにその作成したパスを指定
③onActivityResultでContentResolverから最新で撮影した画像パスを取得
④ImageViewに展開

 ~sample code~
 // 画像格納先URIを先に生成
 mphotoUri = "content://media/external/images/media/XXXX";←ここで自作のフォルダを経由したURLを自動生成
 Intent intent = new Intent();
 intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);
 intent.addCategory(Intent.CATEGORY_DEFAULT);
 intent.putExtra(MediaStore.EXTRA_OUTPUT, mphotoUri);

 // カメラアプリ起動
 startActivityForResult(intent, REQUEST_CODE_CAMERA);

【困っていること】
>③onActivityResultでContentResolverから最新で撮影した画像パスを取得
の時点で自作したフォルダのURLに画像は作成されます。
しかしながら、機種によってギャラリーと自作フォルダ両方に同じ画像がそれぞれ格納されてしまいます。

【理想とする最終形態】
・自作で生成したフォルダのみにカメラからの画像が作成される。

【私の環境で確認の取れた機種】
同じ画像2枚できる機種:ギャラクシーS2(SC-02C)、エクスぺリア(S03D)
同じ画像2枚できない機種:ギャラクシーS3(SC-06D)、富士通(F-12C)

このような現象を回避または対処するよき方法がありますでしょうか?
お手数をおかけしますが、ご回答の程よろしくお願いいたします。

うらお

unread,
Nov 5, 2012, 6:53:15 PM11/5/12
to android-g...@googlegroups.com
NickQさま
ご返信ありがとうございます
 
やはりカメラアプリ本体の制御は厳しそうですか…
代替案としてアプリ終了時に自作のフォルダに作った画像を破棄する という方向にシフトすることにします。
 
大変ありがとうございました。

2012年11月5日月曜日 18時49分56秒 UTC+9 NickQ:
はじめまして、NickQと申します。
 
インテントしたカメラアプリの方で保存されているなら制御という部分では厳しくないですかね?
リザルトで貰えるならそれを消すとか移動で解決しませんかね。

Tetsuro Nakamura

unread,
Nov 5, 2012, 7:17:02 PM11/5/12
to android-g...@googlegroups.com

t2lowと申します。

ファイルの変更を監視できるFileObserverというクラスがあります。

FileObserver | Android Developers
http://developer.android.com/reference/android/os/FileObserver.html

カメラアプリの制御はできませんが、ファイルが2つ作成されたことはわかるかと思います。
(SDカード全体を監視するような使い方ができるのかどうかは試していないのでわかりません)
これが使えれば、カメラアプリ側のファイルを消すということも可能だと思います。

以上です。

2012/11/06 8:53 "うらお" <esk.4...@gmail.com>:
--
このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
このディスカッションをウェブ上で閲覧するには、https://groups.google.com/d/msg/android-group-japan/-/58zSzUZV1-sJ にアクセスしてください。
このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
このグループから退会するには、android-group-j...@googlegroups.com にメールを送信してください。
詳細については、http://groups.google.com/group/android-group-japan?hl=ja からこのグループにアクセスしてください。

うらお

unread,
Nov 6, 2012, 12:14:05 AM11/6/12
to android-g...@googlegroups.com
t2lowさま
ご返信ありがとうございます。
 
FileObserverの存在は知りませんでしたので、一旦こちらで調べさせていただこうかと思います。
アドバイス大変感謝いたします。
Reply all
Reply to author
Forward
0 new messages