2012-04-12 2 views
1

Helo guys,Uri String not Caching in android

Я использую следующий код.

   String fileName = "image" + "_" + title.getText().toString()+"_" + val.toString(); 
       photo = this.createFile(fileName, ".jpg"); 
       intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photo)); 
       uriOfPhoto = Uri.fromFile(photo); 
       startActivityForResult(intent, RESULT_CAMERA_SELECT); 
      } 
     } 
     catch(Exception e) 
     { 
      Log.v("Error", "Can't create file to take picture!"); 
      displayAlert("Can't create file to take picture!","SDCard Error!"); 
     } 
    } 

    private File createFile(String part, String ext) throws Exception 
    { 
     File tempDir = new File (Environment.getExternalStorageDirectory() + "/MyFolder/Images"); 
     if(!tempDir.exists()) 
     { 
      tempDir.mkdir(); 
     } 
     tempDir.canWrite(); 
     return new File(tempDir, part+ext); 
    } 
}); 

UriOfPhoto дает мне uriString не chached в отладке. Он не хранит uri файла. Как я могу решить эту проблему.

authority Uri$Part$EmptyPart (id=830004244032) 
fragment Uri$Part$EmptyPart (id=830004245408) 
host "NOT CACHED" (id=830003914304) 
path Uri$PathPart (id=830067926736) 
port -2 
query Uri$Part$EmptyPart (id=830004245408) 
scheme "file" (id=830002660688)  
ssp null  
uriString "NOT CACHED" (id=830003914304) 
userInfo null  

С наилучшими пожеланиями

+0

Вам нужно сохранить захваченное изображение по вашему пути, что оно или что-то еще –

ответ

0

Это не достаточно информации. Какое действие вы вкладываете в намерение, которое вы отправляете? Вы уверены, что createFile фактически создает файл?

Ошибка, которую вы даете, не очень полезна. Является ли это частью списка значений переменных из отладки? Если да, то где вы находитесь в коде, когда смотрите на значения?

+0

да, он создает новый файл.uriOfPhoto = Uri.fromFile (фото); где я хочу получить значение uri этой фотографии файла, но я получаю выше –

0
String fileName = Environment.getExternalStorageDirectory() + "/MyFolder/Images" + fileName + ".jpg"; 
UriOfPhoto = Uri.parse(fileName); 
Intent intent = new Intent(Intent.ACTION_VIEW); 
intent.putExtra(MediaStore.EXTRA_OUTPUT, UriOfPhoto); 
startActivityForResult(intent, RESULT_CAMERA_SELECT); 

также нет необходимости создания файла для хранения фото вам нужно просто пройти Ури, где фотография должна быть как описано выше, ОС Android создать файл, как вы пытаетесь сделать, и сохраняет захваченное изображение в это ури.