ユーザーが電話のネイティブカメラで写真を撮ることができるアプリケーションがあります。カメラのすべての機能を実装したくありません (オートフォーカス、フラッシュ、またはその他のプロパティを失いたくありません)。ネイティブカメラが持っている可能性があります) だから私はこの呼び出しを行います:
File folder = new File(Environment.getExternalStorageDirectory(),"folder");
folder.mkdirs();
File nomedia = new File(folder,".nomedia");
try{
nomedia.createNewFile();
}catch (IOException e){
e.printStackTrace();
Log.e("error", e.getMessage());
}
File file = new File(folder,"image.jpeg");
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
imageUri = Uri.fromFile(file);
if(imageUri != null){
Log.i(TAG, "imageUri: " + imageUri.getPath());
imageIntent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
}
次に、ボタンでインテントを実行します。
startActivityForResult(imageIntent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);
これは完全に機能し、カメラが開き、写真を撮るときにコールバックを受け取り、電話のファイルエクスプローラーでフォルダーを見ると、写真と作成した「.nomedia」ファイルを見ることができます。
問題は、カメラがこの画像を携帯電話のギャラリーに保存したくないということです。なぜなら、これはどういうわけか「魔法のように」です;)Androidのギャラリーに追加され、「.nomedia」ファイルを追加して考えました別のフォルダーに画像を作成すると、ギャラリーはそれをスキャンしません。アイデアは、写真はアプリの内部使用のみを目的としているということです。
これを回避する方法はありますか?いろいろ調べていろいろ試してみたのですが、どうしても解決しません。
説明でわかりやすかったと思います。
前もって感謝します!