2013-12-03 3 views
0

LogCat напоминает:андроид takePicture камеры идет неправильное сообщение

failure delivering result ResultInfo{who = null,request=131073,result=-1,date=null} 

fatal exception at com.example.newpingziyi.FindFragment.doPhoto(FindFragment.java:178); 

178lines:

Cursor cursor = getActivity().managedQuery(photoUri, pojo, null, null, 
      null); 

onActivityResult после фото подбирает

public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (resultCode == Activity.RESULT_OK) { 
     doPhoto(requestCode, data); 
    } 
    super.onActivityResult(requestCode, resultCode, data); 
} 

private void doPhoto(int requestCode, Intent data) { 
    if (requestCode == SELECT_PIC_BY_PICK_PHOTO) { 
     if (data == null) { 
      Toast.makeText(getActivity(), R.string.photo_err, 
        Toast.LENGTH_LONG).show(); 
      return; 
     } 
     photoUri = data.getData(); 
     if (photoUri == null) { 
      Toast.makeText(getActivity(), R.string.photo_err, 
        Toast.LENGTH_LONG).show(); 
      return; 
     } 
    } 
    String[] pojo = { MediaColumns.DATA }; 

    // fatal exception 
    Cursor cursor = getActivity().managedQuery(photoUri, pojo, null, null, 
      null); 

    if (cursor != null) { 

     int columnIndex = cursor.getColumnIndexOrThrow(MediaColumns.DATA); 
     cursor.moveToFirst(); 
     picPath = cursor.getString(columnIndex); 
     try { 
      if (Integer.parseInt(Build.VERSION.SDK) < 14) { 
       cursor.close(); 
      } 
     } catch (Exception e) { 
      Log.e(TAG, "error:" + e); 
     } 
    } 
    Log.i(TAG, "imagePath = " + picPath); 
    if (picPath != null) { 

     Intent startEx = new Intent(getActivity(), PhotoPre.class); 
     startEx.putExtra(SAVED_IMAGE_DIR_PATH, picPath); 
     startActivity(startEx); 

    } else { 
     Toast.makeText(getActivity(), R.string.photo_err, Toast.LENGTH_LONG) 
       .show(); 

    } 

} 

ответ

0

использовать этот

cursor.moveToLast(); 

вместо cursor.moveToFirst();

+0

не работал, до сих пор NullPointer, коды:. ** Курсор Курсор = getActivity() managedQuery (photoUri, POJO, NULL, NULL, \t \t \t \t нуль) *; * верно? – Goman

+0

Поместить полную ошибку logcat –

+0

'java.lang.RuntimeException: не удается возобновить действие {com.example.newpingziyi/com.example.newpingziyi.MainActivity}: java.lang.RuntimeException: Ошибка предоставления результата ResultInfo {who = null, request = 131073, result = -1, data = null} в действие {com.example.newpingziyi/com.example.newpingziyi.MainActivity}: java.lang.NullPointerException' – Goman

Смежные вопросы