特定のデバイスで撮影した写真を保存すると、奇妙な線として保存されます。この画像の外観を説明する方法がわからないので、ここに示します。
私のコードはほとんどのデバイスで完全に動作しますが、次のデバイスで 2 人のユーザーに話しかけてもらいました。
1. HTC Thunderbolt
2. HTC Inspire
これがどのように起こっているか知っている人はいますか? これが私のコードです:
PictureCallback jpegCallback = new PictureCallback() {
public void onPictureTaken(byte[] data, Camera camera) {
mPreview.mCamera.startPreview();
Log.e(TAG, "onPictureTaken - jpegCallback");
try {
// start camera saving system
CameraPhoneStorageSystem camStorageSys = new CameraPhoneStorageSystem(
mContext);
FileOutputStream out = null;
String str = CameraPhoneStorageSystem
.returnImageNewNameForExternalMemory();
galleryAddPic(str);
out = new FileOutputStream(str);
// mutableBitmap.compress(CompressFormat.JPEG, 85, out);
out.write(data, 0, data.length);
out.flush();
out.close();
out = null;
Toast.makeText(mContext, "saved..", Toast.LENGTH_SHORT).show();
} catch (IOException e) {
Toast.makeText(
mContext,
"Error: Problem Saving Image.. Please check device memory",
Toast.LENGTH_SHORT).show();
Log.e("saving", "problem saving images", e);
} catch (Exception e) {
// fail
Log.d(TAG, "ERROR: " + e.getMessage());
} finally {
anyPicturesTaken = true;
progressBar.setVisibility(View.GONE);
snapButton.setVisibility(ImageButton.VISIBLE);
Runtime.getRuntime().gc();
}
}
};
助けてくれてありがとう...