2017-07-21 29 views
-1

我是Android新手。我想通過手機相機捕捉圖片,並嘗試從手機畫廊拍攝照片。在這種情況下,我成功完成了從畫廊拍攝照片的一個步驟,但在通過照相機拍攝照片時,我遇到了覆蓋方法protected void onActivityResult(int requestcode,int resultcode,Intent data)不起作用的問題,錯誤顯示並且還妨礙了先前的覆蓋從畫廊拍照的方法。我想一次做兩件作品。所以我現在要做的使用圖像按鈕進行圖像查看

我已經創建 私人靜態最終詮釋PICK_IMAGE = 150; Uri imageUrl;

private void openGallery() { 

    Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.INTERNAL_CONTENT_URI); 
    startActivityForResult(intent,PICK_IMAGE); 
} 

@Override 
protected void onActivityResult(int requestcode,int resultcode,Intent data){ 
    super.onActivityResult(requestcode,resultcode,data); 
    if(resultcode == RESULT_OK && requestcode == PICK_IMAGE){ 
     imageUrl = data.getData(); 
     im.setImageURI(imageUrl); 
    } 
} 

所以,當我想添加一個保護無效onActivityResult(INT requestCode,INT resultCode爲,意圖數據)的方法,它顯示的錯誤,並告訴它已經創建

+0

歡迎堆棧溢出。如果您向我們展示實際的代碼而不是用英文來描述它,那將是最好的。請務必閱讀[mcve]瞭解一些提示。 –

回答

0

不能有兩種方法使用完全相同的名稱和參數列表。相反,你應該將代碼添加到現有的onActivityResult()方法來實現邏輯檢索從camera.Just知情同意增加一個else if條款現有if聲明:

if (resultcode == RESULT_OK) { 
    if (requestcode == PICK_IMAGE) { 
     // get image from gallery 
    } else if (requestcode == CAMERA_REQUEST) { 
     // get image from camera 
    } 
} 
+0

感謝您的合作 –

+0

@JannatullHaque如果我的答案解決了您的問題,請務必點擊左邊的複選標記來接受它。 –

-1

,你可以用這個拍照從照相機上的按鈕點擊或任何圖像

photoButton.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
      startActivityForResult(cameraIntent, CAMERA_REQUEST); 
     } 
    }); 

**此方法將當你點擊打電話**

protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (requestCode == CAMERA_REQUEST && resultCode == Activity.RESULT_OK) { 
     Bitmap photo = (Bitmap) data.getExtras().get("data"); 
     imageView.setImageBitmap(photo);//set image to Imageview 
    } 
} 
+0

'Bundle'沒有'get()'方法,所以這個答案不會被編譯。相反,我認爲你需要做'data.getStringExtra(「data」);'這是圖形文件的URI。 –