2012-12-19 72 views
2

如何東西file:///system/media/lockscreen/lockscreen_001.jpg改變 類似/mnt/sdcard/myPicture.jpg
爲什麼我要改變的原因是,文件:///是錯的,如果我想進一步處理。這是很難說,但如果我從Uri uri= data.getData();URIfile:///system/media/lockscreen/lockscreen_001.jpg,如何處理,因爲通常先從mnt如何更改文件URI字符串

+0

你用'camera'還是'gallery'來選擇要使用的圖片? –

+0

畫廊,和相機是好的,只是畫廊不好 – jjLin

+0

我已經在下面發佈解決方案。嘗試一下。謝謝。 –

回答

2

試試這個:

Uri uri = Uri.parse("file:///system/media/lockscreen/lockscreen_001.jpg"); 
Toast.makeText(getApplicationContext(), ""+uri.getPath(), Toast.LENGTH_LONG).show(); 

uri.getPath()將通過消除file:擴展名爲您提供路徑。

編輯:

Uri urinew = Uri.parse(uri.getPath()); 

這會給你與你得到的路徑新的URI。

希望它可以幫助你。

謝謝。

+0

,它返回/system/media/lockscreen/lockscreen_001.jpg – jjLin

+0

是的,這是你需要根據你發佈的問題的路徑。 –

+1

但uri.getPath()會返回String,如何返回URI? – jjLin

0

希望這段代碼可以幫助你:

Uri selectedImage = imageReturnedIntent.getData(); 
      String[] filePathColumn = {MediaStore.Images.Media.DATA}; 

      Cursor cursor = getContentResolver().query(selectedImage, filePathColumn, null, null, null); 
      cursor.moveToFirst(); 

      int columnIndex = cursor.getColumnIndex(filePathColumn[0]); 
      String filePath = cursor.getString(columnIndex); 
+0

什麼是getPath()後getContentResolver – jjLin