0
私のアプリのパッケージフォルダにカメラから画像を保存することができましたが、これはどういうことですか、そのフォルダから画像を開くと「Can not open」というメッセージが表示されます。アクティビティフォルダから画像を開くことができませんか?
画像を画像フォルダに移動しようとしましたが、うまくいきました。だから、何が問題なのか。これはこれまで私が試したことです。
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
mFile = new File(getActivity().getExternalFilesDir(null), "pic.jpg");
}
private static class ImageSaver implements Runnable {
/**
* The JPEG image
*/
private final Image mImage;
/**
* The file we save the image into.
*/
private final File mFile;
ImageSaver(Image image, File file) {
mImage = image;
mFile = file;
}
@Override
public void run() {
ByteBuffer buffer = mImage.getPlanes()[0].getBuffer();
byte[] bytes = new byte[buffer.remaining()];
buffer.get(bytes);
FileOutputStream output = null;
try {
output = new FileOutputStream(mFile);
output.write(bytes);
} catch (IOException e) {
e.printStackTrace();
} finally {
mImage.close();
if (null != output) {
try {
output.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
/**
*/
Reading the image
public class SingleMediaScanner implements MediaScannerConnection.MediaScannerConnectionClient {
private MediaScannerConnection mMs;
private File mFile;
public SingleMediaScanner(Context context, File f) {
mFile = f;
mMs = new MediaScannerConnection(context, this);
mMs.connect();
}
public void onMediaScannerConnected() {
mMs.scanFile(mFile.getAbsolutePath(), null);
}
public void onScanCompleted(String path, Uri uri) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(uri);
startActivity(intent);
mMs.disconnect();
}
}
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
new SingleMediaScanner(getActivity(), allFiles[0]);
}
});
マニフェスト
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.FLASHLIGHT"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-feature android:name="android.hardware.camera2.full"/>
にこのファイルを渡したい場合は、あなたのエラーを追加してくださいすることができ質問にログする。 –
@SerjArdovic: - エラーは表示されません。それは、フォルダがプライベートであり、読み取ることができないように感じる。アプリを使わずに手動で画像を開こうとしても、「Couldnot open item」というメッセージが表示されます。しかし、そのフォルダから画像フォルダに画像を移動すると、完全に開きました。 –
ファイルを読み取るコードはありません。あなたはどこで話していますか? – greenapps