La cattura di foto Intent causa NullPointerException solo sui telefoni Samsung

La cattura di foto Intent causa NullPointerException sui telefoni Samsung.

Implementazione qui sotto.

  • Android: Come caricare dynamicmente l'image dal server dal suo nome da SQlite
  • Ottenere SocketTimeoutExceptions utilizzando loopj AsyncHttpClient ... c'è un valore di timeout che posso impostare?
  • KeyStore e Alias ​​chiave
  • [Errore: imansible trovare la variabile di ambiente "ANDROID_HOME". Provare ad impostarla manualmente
  • ExpandableList getChildView funzionante due volte per bambino
  • Frammento pop di Android dal backstack con animation
  •  final Button capture = (Button)findViewById(R.id.capture_button); capture.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(cameraIntent, CAMERA_PIC_REQUEST); } }); protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == CAMERA_PIC_REQUEST) { Bitmap thumbnail = (Bitmap)data.getExtras().get("data"); ImageView image = (ImageView)findViewById(R.id.photoResultView); image.setImageBitmap(thumbnail); } } 

  • Android - Servizio non supportto: audio
  • Come sfuggire a personaggi speciali come 'in sqlite in android
  • Perché la dimensione Bitmap è più grande della memory rispetto a quella di disco in Android?
  • Come implementare le lastre di fondo utilizzando una nuova libreria di supporto per la progettazione 23.2
  • Android - entrata html perde la messa a fuoco quando si apre la tastiera soft (ASP.net)
  • Ricevitore non registrato errore di exception?
  • 4 Solutions collect form web for “La cattura di foto Intent causa NullPointerException solo sui telefoni Samsung”

    Ho trovato una correzione (non il mio lavoro) che lo rende funzionante per i dispositivi Samsung. Il blog con spiegazione può essere trovato qui .

    Tuttavia, usando questa correzione su telefoni non diversi da Samsung restituisce l'image sbagliata, quindi utilizzerei un

     if(imageURI != null) { // do it the normal way else { // do it the "Samsung" way } 

    Appena ottenuto lo stesso problema su un Samsung S4 e ha scoperto che l'aggiunta di configChanges per l'AndroidManifest.xml ha risolto il problema:

     <activity android:name=".YourActivity" android:configChanges="orientation|keyboardHidden|screenSize" android:screenOrientation="portrait" > </activity> 

    puoi controllare un piccolo modo semplice per get Uri.

    Ottenere il path dell'image di cattura della camera in android

    call la camera

     Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(Intent.createChooser(cameraIntent,"Select Picture"), CAMERA_PIC_REQUEST1); 

    sull'attività dei risultati

     final ContentResolver cr = getContentResolver(); final String[] p1 = new String[] { MediaStore.Images.ImageColumns._ID, MediaStore.Images.ImageColumns.DATE_TAKEN }; Cursor c1 = cr.query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, p1, null, null, p1[1] + " DESC"); if ( c1.moveToFirst() ) { String uristringpic = "content://media/external/images/media/" +c1.getInt(0); Uri newuri = Uri.parse(uristringpic); Log.i("TAG", "newuri "+newuri); } c1.close(); } 

    Poi è ansible get l'image di cattura del path Uri

    Ottenere il path dell'image di cattura della camera in android

    Ottenere il path dell'image di cattura della camera in android

    call la camera

     Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(Intent.createChooser(cameraIntent,"Select Picture"), CAMERA_PIC_REQUEST1); 

    sull'attività dei risultati

     final ContentResolver cr = getContentResolver(); final String[] p1 = new String[] { MediaStore.Images.ImageColumns._ID, MediaStore.Images.ImageColumns.DATE_TAKEN }; Cursor c1 = cr.query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, p1, null, null, p1[1] + " DESC"); if ( c1.moveToFirst() ) { String uristringpic = "content://media/external/images/media/" +c1.getInt(0); Uri newuri = Uri.parse(uristringpic); Log.i("TAG", "newuri "+newuri); } c1.close(); 

    allora u può get l'image di cattura di path Uri

    ( fonte )

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.