SamSung Galaxy S4 中的相机问题
Camera Issue in SamSung Galaxy S4
我正在捕捉图像,它在其他设备上显示得很好,但是当我点击 Samsung Galaxy S4 时,它没有显示在 ReyclerView 中,而是显示在它的占位符中。我想显示我点击图片的预览。我所做的,如下所示。
if (requestCode == CAMERA_REQUEST) {
try {
if (requestCode == CAMERA_REQUEST && resultCode == RESULT_OK && null != data) {
String[] projection = {MediaStore.Images.Media.DATA};
Cursor cursor = managedQuery(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
projection, null, null, null);
int column_index_data = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToLast();
img_Decodable_Str = cursor.getString(column_index_data);
stream_imagePath.add(img_Decodable_Str);
CreateStreamAdapter createStreamAdapter = new CreateStreamAdapter(getApplicationContext(), stream_imagePath);
recycler_view.setAdapter(createStreamAdapter);
createStreamAdapter.notifyDataSetChanged();
dialog.dismiss();
}
} catch (Exception e) {
e.printStackTrace();
}
}
我想你可以试试这个
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
pic = new File(Environment.getExternalStorageDirectory(),
"image name") + ".jpg");
picUri = Uri.fromFile(pic);
cameraIntent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, picUri);
cameraIntent.putExtra("return-data", true);
startActivityForResult(cameraIntent, PHOTO);
经过几次修改,终于得到了我的输出。
我做的就是这里,
首先,我通过覆盖下面的 onSaveInstanceStatelike 将我的数据存储到 BUndle
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putStringArrayList("savedList", stream_imagePath);
System.out.println("On Saved Called ");
Log.d("SAVED ", "onSaveInstanceState: ");
}
现在,在捕获它之后,我从 ArrayList 获取所有这些图像
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
View v = getLayoutInflater().inflate(R.layout.activity_create_stream, null);
setContentView(v);
activity = CreateStreamActivity.this;
init(v);
if (savedInstanceState != null) {
stream_imagePath = savedInstanceState.getStringArrayList("savedList");
createStreamAdapter = new CreateStreamAdapter(getApplicationContext(), stream_imagePath);
recycler_view.setAdapter(createStreamAdapter);
}
我正在捕捉图像,它在其他设备上显示得很好,但是当我点击 Samsung Galaxy S4 时,它没有显示在 ReyclerView 中,而是显示在它的占位符中。我想显示我点击图片的预览。我所做的,如下所示。
if (requestCode == CAMERA_REQUEST) {
try {
if (requestCode == CAMERA_REQUEST && resultCode == RESULT_OK && null != data) {
String[] projection = {MediaStore.Images.Media.DATA};
Cursor cursor = managedQuery(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
projection, null, null, null);
int column_index_data = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToLast();
img_Decodable_Str = cursor.getString(column_index_data);
stream_imagePath.add(img_Decodable_Str);
CreateStreamAdapter createStreamAdapter = new CreateStreamAdapter(getApplicationContext(), stream_imagePath);
recycler_view.setAdapter(createStreamAdapter);
createStreamAdapter.notifyDataSetChanged();
dialog.dismiss();
}
} catch (Exception e) {
e.printStackTrace();
}
}
我想你可以试试这个
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
pic = new File(Environment.getExternalStorageDirectory(),
"image name") + ".jpg");
picUri = Uri.fromFile(pic);
cameraIntent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, picUri);
cameraIntent.putExtra("return-data", true);
startActivityForResult(cameraIntent, PHOTO);
经过几次修改,终于得到了我的输出。
我做的就是这里,
首先,我通过覆盖下面的 onSaveInstanceStatelike 将我的数据存储到 BUndle
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putStringArrayList("savedList", stream_imagePath);
System.out.println("On Saved Called ");
Log.d("SAVED ", "onSaveInstanceState: ");
}
现在,在捕获它之后,我从 ArrayList 获取所有这些图像
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
View v = getLayoutInflater().inflate(R.layout.activity_create_stream, null);
setContentView(v);
activity = CreateStreamActivity.this;
init(v);
if (savedInstanceState != null) {
stream_imagePath = savedInstanceState.getStringArrayList("savedList");
createStreamAdapter = new CreateStreamAdapter(getApplicationContext(), stream_imagePath);
recycler_view.setAdapter(createStreamAdapter);
}