2012-08-25 51 views
1

我有如下因素代碼:採用Android相機意圖,越來越URI,然後使用URI

public void take_picture(View view) 
{ 


Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
startActivityForResult(cameraIntent, CAMERA_REQUEST); 
} 


protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    ImageView slikaa = (ImageView)this.findViewById(R.id.slikaa); 
    if ((requestCode == CAMERA_REQUEST)&& (resultCode == Activity.RESULT_OK)) { 

Bitmap photo = (Bitmap) data.getExtras().get("data"); 
     slikaa.setImageBitmap(photo); 


} 

現在的問題是如何獲取的圖像路徑(它保存到我的數據庫),然後再,用它在圖片顯示(我不知道怎麼弄的路徑字符串,然後重新使用它)

回答

0
String path; 

Public void take_picture(){ 

    Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
    File dir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM); 
    File output = new File(dir,"gtumca.png"); 
    cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT,Uri.fromFile(output)); 
    path = output.getAbsolutePath(); <------------- 
    startActivityForResult(cameraIntent, TAKE_PHOTO); 

} 
2

爲了得到圖像路徑在onActivityResult則需要通過發送圖片的路徑啓動相機以意圖爲:

 Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 

     //ContentValues values = new ContentValues(); 
     ContentValues values = new ContentValues(3); 
     values.put(MediaStore.Images.Media.DISPLAY_NAME, "testing"); 
     values.put(MediaStore.Images.Media.DESCRIPTION, "this is description"); 
     values.put(MediaStore.Images.Media.MIME_TYPE, "image/jpeg"); 
     imageFilePath = MainActivity.this.getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values); 
     intent.putExtra(MediaStore.EXTRA_OUTPUT, imageFilePath); 

     startActivityForResult(intent, CAMERA_REQUEST); 

和onActivityResult

  protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
      ImageView slikaa = (ImageView)this.findViewById(R.id.slikaa); 
      if ((requestCode == CAMERA_REQUEST)&& (resultCode == Activity.RESULT_OK)) { 
      //get image from path 

      Bitmap photo = (Bitmap) data.getExtras().get("data"); 
      photo = BitmapFactory.decodeStream(this.getContentResolver() 
       .openInputStream(imageFilePath), null, op); 
      slikaa.setImageBitmap(pic); 

      //slikaa.setImageBitmap(photo); 
      } 
+1

什麼是 「運」 的意思是我這一行:eStream(this.getContentResolver().openInputStream(imageFilePath),空,OP);我搜索了網絡,我發現這個選項變量。但它不適合我...... – Gregor

+0

@Gregor:「op」代表什麼?我現在也遇到同樣的問題,你解決了嗎? – pearmak

+0

我沒有深入它......我只使用'從畫廊意圖中選擇' - 已經在手機的畫廊中的圖片。我可以幫你,而不是相機意圖 – Gregor