カメラがコードで使用されているかどうかを確認する方法はありますか?カメラが使用中であるかどうかを調べるには?
7
A
答えて
4
アンドロイドカメラが使用中であるかどうかを確認する方法はありますか?
カメラが使用である場合は、[はい、Camera.open()
はあなたに例外を与えるだろう。 docsから
、
/** A safe way to get an instance of the Camera object. */
public static Camera getCameraInstance(){
Camera c = null;
try {
c = Camera.open(); // attempt to get a Camera instance
}
catch (Exception e){
// Camera is not available (in use or does not exist)
}
return c; // returns null if camera is unavailable
}
2
1
私はこれが本当に古い質問であることを知っていますが、私は同じことについて不思議なGoogle検索でそれを見つけました。 Androidの新しいバージョンでは、CameraManager.AvailabilityCallback
を登録して、カメラが使用中であるかどうかを判断できます。
import android.hardware.camera2.CameraManager;
// within constructor
// Figure out if Camera is Available or Not
CameraManager cam_manager = (CameraManager) mContext.getSystemService(Context.CAMERA_SERVICE);
cam_manager.registerAvailabilityCallback(camAvailCallback, mHandler);
CameraManager.AvailabilityCallback camAvailCallback = new CameraManager.AvailabilityCallback() {
public void onCameraAvailable(String cameraId) {
cameraInUse=false;
Log.d(TAG, "notified that camera is not in use.");
}
public void onCameraUnavailable(String cameraId) {
cameraInUse=true;
Log.d(TAG, "notified that camera is in use.");
}
};
+0
アンドロイド5.1には、これが壊れている可能性があるというバグがあります(https://code.google.com/p/android/issues/detail?id=164769)。これらのバージョンでは、 '' cam_manager.getCameraIdList() '' 'を呼び出して、サービスを適切に初期化してから,AvailabilityCallbackを登録する必要があります。 – PressingOnAlways
2
あなたはそれが本当で、カメラは、いくつかのアプリによって使用中である返すこのmethod.ifを試すことができます:ここではいくつかのサンプルコードです。
public boolean isCameraUsebyApp() {
Camera camera = null;
try {
camera = Camera.open();
} catch (RuntimeException e) {
return true;
} finally {
if (camera != null) camera.release();
}
return false;
}
次に、カメラを再起動する必要があるため、デバイスを再起動するようにユーザーに通知します。
関連する問題
- 1. divにスクロールバーがあるかどうかを調べるには
- 2. solrサーバーが実行中であるかどうかを調べる方法
- 3. STLベクトルの中にC++ STLベクトルがあるかどうかを調べる
- 4. iOSデバイスにphonegapを使用したオートフォーカスカメラがあるかどうか調べる
- 5. Oracle:保留中のトランザクションがあるかどうかを調べる方法
- 6. アポストロフィが引用または収縮であるかどうかを調べる
- 7. charが改行であるかどうかを調べる
- 8. 無向グラフが木であるかどうかを調べる
- 9. ResourceRequestがAJAXリクエストであるかどうかを調べる
- 10. 単語が複数であるかどうかを調べる
- 11. シンボルがテンプレートであるかどうかを調べる関数
- 12. 数値がfloat64であるかどうかを調べる
- 13. mvc 4 IEnumerableがnullであるかどうかを調べる
- 14. カラムがNOT NULLであるかどうかを調べる
- 15. バイトが0x00であるかどうかを調べる
- 16. Extjs:要素にツールチップがあるかどうかを調べる
- 17. Javascript関数にクロージャがあるかどうかを調べる
- 18. カーソルに結果があるかどうかを調べる
- 19. ポイントが道路上にあるかどうかを調べる
- 20. スレッドがスリープ状態にあるかどうかを調べる
- 21. XSLT:ノードがノードリストにあるかどうかを調べる
- 22. VB2010数値が整数であるかどうかを調べるには
- 23. インデックスがRAMかDisk [MongoDB]にあるかどうかを調べるには?
- 24. matlabで行列が空であるかどうかを調べる方法は?
- 25. DOM要素にRubyのイベントリスナーがあるかどうかを調べるには
- 26. どのフックを使うか調べる
- 27. 移行中にレコードが存在するかどうかを調べる
- 28. javascriptまたは他のメソッドを使用してBeanがnullであるかどうかを調べる
- 29. 型パラメーターが型のサブタイプであるかどうかを調べる方法は?
- 30. TrueTypeフォントがイタリック体であるかどうかを調べる方法は?
ありがとうございます。既にカメラが使用されていることが判明した場合、どのようにカメラを使用できますか?キャッチブロックでカメラを放してからもう一度開こうとしていますか? – user1414146
@ user1414146他のアプリケーションがカメラで完了するまで待つ必要があります:)そして再試行してください。 – COD3BOY