2012-03-07 36 views
-1

我要挑从画廊的图像,然后让SD卡获取总是NPE

 Intent intent = new Intent(); 
    intent.setType("image/*"); 
    intent.putExtra("crop", "true"); 
    intent.setAction(Intent.ACTION_PICK); 
    startActivityForResult(Intent.createChooser(intent, 
      "Select Picture"), 1); 

则活动的结果

public void onActivityResult(int requestCode, int resultCode, Intent data) { 

    String tempImage = null; 
    File f = null ; 
     if (resultCode == RESULT_OK && requestCode == 1 && data!=null) 
     { 
         Uri selectedImageUri = data.getData(); // always null Uri WHY? 
         selectedImagePath = getPath(selectedImageUri); 
         if(selectedImagePath!=null) 
         { 

       ........ 

和的getPath方法上的图像的路径

public String getPath(Uri uri) { 
     String[] projection = { MediaStore.Images.Media.DATA }; 
     Cursor cursor = managedQuery(uri, projection, null, null, null); 
     int column_index = cursor 
       .getColumnIndexOrThrow(MediaStore.Images.Media.DATA); 
     cursor.moveToFirst(); 
     return cursor.getString(column_index); 
    } 

问题是Uri selectedImageUri = data.getData();给出了空值。昨天工作正常。

甚至不为空。

我试过清理项目,但问题仍然保持不变。

在此先感谢!

* Update解决方案*

的解决方案是HERE

+0

没有足够的细节问题是什么。请用stacktrace更新。 – JoxTraex 2012-03-07 06:25:51

+0

您正在测试哪种设备?你能提供更多信息吗? – 2012-03-07 06:33:36

+0

三星galaxy pop和xperia mini。 – 2012-03-07 06:38:33

回答

0

这一个是我的应用程序工作:

开始图像选配:

Intent intent = new Intent(); 
    intent.setType("image/*"); 
    intent.setAction(Intent.ACTION_PICK); 
    startActivityForResult(Intent.createChooser(intent,"Select Picture"), 201); 

获得SD功能来自URI的卡片路径。

private String decodePath(Uri data) 
{   
    Cursor cursor = getContentResolver().query(data, null, null, null, null); 
    cursor.moveToFirst(); 
    int idx = cursor.getColumnIndex(ImageColumns.DATA); 
    String fileSrc = cursor.getString(idx); 
    return fileSrc; 
} 
+0

谢谢你的回应,实际上Uri是空的,所以当我在decodePath中传递Uri时,它将不起作用。问题是空的Uri,我正在得到。 – 2012-03-07 06:37:49

+0

尝试删除intent.putExtra(“crop”,“true”); – Anirudh 2012-03-07 06:45:05

+0

你是正确的Anirudth删除后,行代码工作。但我想裁剪图像。 – 2012-03-07 06:46:43