2014-03-03 154 views
0

我一直在嘗試從Nexus設備庫中選擇圖片。由於存儲框架已在kitkat 4.4中更改,因此我一直很頭疼我實現此功能..我已經提到到這個鏈接retrieve absolute path when select image from gallery kitkat androidAndroid kitkat從圖庫中選擇圖片

我正在獲取文件的路徑在gallery.and也解碼圖像,並將其設置爲imageView ..但我儘快這樣做..我的應用程序突然又重新連接關閉服務器,並告訴我再次登錄..請任何人都請告訴我發生這種情況的原因..有任何許可可以添加或更多的一段代碼..

這是代碼獲取Imagep ..

Uri originalUri = data.getData(); 

      final int takeFlags = data.getFlags() 
           & (Intent.FLAG_GRANT_READ_URI_PERMISSION 
           | Intent.FLAG_GRANT_WRITE_URI_PERMISSION); 
      // Check for the freshest data. 
      getContentResolver().takePersistableUriPermission(originalUri, takeFlags); 

      String id = originalUri.getLastPathSegment().split(":")[1]; 
      final String[] imageColumns = {MediaStore.Images.Media.DATA }; 
      final String imageOrderBy = null; 

      Uri uri = getUri(); 

      @SuppressWarnings("deprecation") 
      Cursor imageCursor = managedQuery(uri, imageColumns, 
        MediaStore.Images.Media._ID + "="+id, null, imageOrderBy); 

      if (imageCursor.moveToFirst()) 
      { 
       picturepath = imageCursor.getString(imageCursor.getColumnIndex(MediaStore.Images.Media.DATA)); 
      } 
      Bitmap b=decodeSampledBitmapFromFile(picturepath, 175, 175); 
      imgToBeUploaded.setImageBitmap(b); 
      Toast.makeText(StartingActivity.this, picturepath, Toast.LENGTH_SHORT).show(); 

感謝和問候。

回答

0

最有可能你正在因爲該行

getContentResolver().takePersistableUriPermission(originalUri, takeFlags); 

試圖捕獲異常,並應工作的java.lang.SecurityException異常。

相關問題