2017-02-20 22 views
0

Я захватываю изображение и его отображение довольно хорошо в других устройствах, но когда я нажал на Samsung Galaxy S4, его не показывали в ReyclerView, но его держатель. Я хочу показать свой предварительный просмотр для Clicked Image. Что я сделал, это ниже.Проблема с камерой в SamSung Galaxy S4

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(); 
     } 
    } 

ответ

0

После нескольких модификаций, наконец, я получил свой выход.

То, что я сделал здесь,

Во-первых, я храню свои данные в расслоении Переопределелив onSaveInstanceStatelike ниже

@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); 
    } 
0

Я думаю, вы можете попробовать это

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); 
+0

Thnxx для вашего ответа, но дайте мне знать, что такое mApp.getPreference –

+0

Это то, что я использовал для сохранения изображения на внешний диск по имени изображения в качестве пользователя имя –