簡體   English   中英

三星Galaxy S4相機問題

[英]Camera Issue in SamSung Galaxy S4

我正在捕獲Image及其在其他設備中的顯示效果很好,但是當我單擊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);

經過幾次修改,最后,我得到了輸出。

我在這里所做的

首先,我通過覆蓋如下的onSaveInstanceStateState將數據存儲到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);
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM