私のアプリは Android 2.2 以降で実行する必要があります。利用可能なカメラの数を判断する方法が必要です。これに対処する投稿はたくさんありますが、機能する投稿が見つかりませんでした。
1 つの解決策は、単純に OS のバージョンを検出することです。2.2 のカメラは (デバイスに実際に 2 台あったとしても) 1 台のカメラに限定されますが、2.2 以降のバージョンのカメラの数を把握する方法はまだありません。
複数のカメラは、以前の OS バージョンではサポートされていないため、1 つあると想定できます。デバイスに 2 つあったとしても、標準の Android API ではサポートされていません。新しい OS バージョンの場合は、Camera.getNumberOfCameras()
andCamera.getCameraInfo()
を API レベルのガード ステートメントと共に使用します。
int numCameras = 1;
if (Build.Version.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) {
numCameras = Camera.getNumberOfCameras();
}