2016-10-09 57 views
-1

我想使用設備的內置相機功能。已經閱讀文檔,這是我使用相機錯誤:無法連接到相機

private void dispatchTakePictureIntent() { 
    Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
    if (takePictureIntent.resolveActivity(getPackageManager()) != null) { 
     startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE); 
    } 
} 

清單中的方法,我添加了用法:

<uses-feature android:name="android.hardware.camera" 
       android:required="true" /> 

然而,當我調用該方法,會出現錯誤對話框。這是爲什麼?

回答

2

使用具有目標API 23或更高版本的ACTION_IMAGE_CAPTURE意圖的相機需要相機權限。您必須在運行時請求此權限。

Here你可以找到關於這個主題的視頻教程。

1

如果您想在點擊按鈕時打開相機,請使用下面的代碼。

初始化onCreate()方法中的按鈕和圖像視圖。

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"); 
     if(photo!=null) 
      imageView.setImageBitmap(photo); 
    } 
} 
+0

CAMERA_REQUEST的價值是什麼?我剛剛在真實設備上測試了我的代碼(上面的代碼),並打開了相機。任何想法爲什麼會發生?謝謝! – user6456773

+0

我還沒有激活設備的相機...:D :) – user6456773

+0

將CAMERA_REQUEST設置爲1,如CAMERA_REQUEST = 1 –

相關問題