據我瞭解,你實際上將不得不推出你的意圖與ACTION_IMAGE_CAPTURE行動(而不是INTENT_ACTION_STILL_IMAGE_CAMERA)。然後,在onActivityResult
中,您必須從Intent獲取數據:您將在那裏找到對圖像的引用。 欲瞭解更多信息請參閱Receiving camera intent result
所以使用
MediaStore.ACTION_IMAGE_CAPTURE
而不是
MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA
編輯
您可以使用此方法來檢查,如果相機是由另一個應用程序或打開不是,但請記住這個事情,這種方法首先獲得相機
public boolean isCameraUsebyApp() {
Camera camera = null;
try {
camera = Camera.open();
} catch (RuntimeException e) {
return true;
} finally {
if (camera != null) camera.release();
}
return false;
}
如果它成功獲取,則意味着沒有其他應用程序正在使用本相機,並且不會忘記再次釋放它,否則您將無法再獲取它。
它的拋出RuntimeException
這意味着相機正在被另一個進程或設備使用的策略管理器已禁用相機。
有如果相機正被其他的東西,或者如果你的策略管理器,你嘗試檢查具有一定的環境,讓相機已關閉? –
我檢查了我的卡馬拉是在上,還有另一個設置? –
這篇文章可能會幫助你http://stackoverflow.com/questions/10100351/android-fail-to-connect-to-camera-service –