2014-06-11 88 views
0

我想按下按鈕打開默認的移動照相機。我曾嘗試下面的代碼:Android錯誤:無法連接到Camara

​​

我還增加了以下權限的Android清單文件:

<uses-permission android:name="android.permission.CAMERA" /> 
<uses-feature android:name="android.hardware.camera" /> 

我還看到一個錯誤,當我點擊相機按鈕。相機正在加載,但在此之後,我收到一條消息無法連接到屏幕上的camara

+0

有如果相機正被其他的東西,或者如果你的策略管理器,你嘗試檢查具有一定的環境,讓相機已關閉? –

+0

我檢查了我的卡馬拉是在上,還有另一個設置? –

+0

這篇文章可能會幫助你http://stackoverflow.com/questions/10100351/android-fail-to-connect-to-camera-service –

回答

0

使用ACTION_IMAGE_CAPTURE代替INTENT_ACTION_STILL_IMAGE_CAMERA像這樣

Intent Intent3 = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
+0

同上錯誤 –

+0

嗯,奇怪。嘗試清理項目。你在使用模擬器還是真正的移動設備? –

+0

我用真實的設備,micromax帆布 –

0

試着按了Android camera documentation,運行時異常被拋出:

if connection to the camera service fails (for example, 
if the camera is in use by another process or device policy manager has disabled the camera) 

有如果相機正在使用的東西,你試過檢查否則或者如果您的策略管理器在相機關閉的情況下進行了一些設置?

請確保在不再需要相機時調用release()方法釋放相機,否則將無法使用相機。也許作爲一個理智的檢查,看看你的普通相機是否工作。如果它說失敗,那麼你以前的嘗試在runni

+0

如何檢查卡瑪拉是另一種打開另一個如何關閉??,我的卡瑪拉工作正常,但只有它的問題 –

+0

退出所有可能使用相機的應用程序。轉至設置>電池並檢查mm-qcamera-daemon是否正在運行。退出它並再次啓動應用程序以查看相機是否連接。 退出應用程序並重新啓動它。這大多數時候都有效。如果它不嘗試強制停止應用程序並清除緩存。這些措施聽起來很激烈,但成功率很高。 如果一切都失敗,請重新啓動手機。重新啓動之前退出正在運行的每個應用程序。 – Rohit

+0

我嘗試以上所有,但我找不到解決方案 –

0

據我瞭解,你實際上將不得不推出你的意圖與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這意味着相機正在被另一個進程或設備使用的策略管理器已禁用相機。

+0

我的錯誤是相同的兩個 –

+0

是你在模擬器上測試這個嗎?在另一臺設備上測試它。 –

+0

不,我嘗試在模擬器 –

0

如果你想打開默認的攝像頭,然後使用

android.provider.MediaStore.ACTION_IMAGE_CAPTURE 

,而不是

MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA 
+0

如何檢查卡馬拉是另一種開放和如何關閉??,我的卡馬拉工作正常,但只有在它的問題 –

相關問題