2

デバイスのカメラが有効になっていることを確認する方法はありますか? はいの場合、どうすればよいですか?

4

3 に答える 3

2

はい、その可能性はありますが、それにはDevice Admin Permissionsが必要です。それを実装している場合は、そのコードを使用してください:

DevicePolicyManager mDPM =
    (DevicePolicyManager)getSystemService(Context.DEVICE_POLICY_SERVICE);
if(mDPM.getCameraDisabled(adminComponentName))
{
//do something if camera is disabled
}
于 2013-08-10T17:16:01.710 に答える
2

有効になっているということは、開いている、または現在使用されていることを意味する場合、はい、方法があります。

Camera.open() は、カメラが使用されている場合に例外を発生させます。

したがって、これを利用して、カメラが有効になっているか、現在使用されているか、または実際にカメラがあるかどうかを確認できます。

/** how to get the camera object savely */
public static Camera getCameraInstance(){
    Camera c = null;
    try {
        c = Camera.open(); // try to get camera
    }
    catch (Exception e){
        // Camera is not available (in use) or does not exist
    }
    return c; // null will be returned if unavailable, or non existent
}

カメラが現在使用されているが、使用したい場合は、単に呼び出します

Camera.release();

そして、それを自分で使用します。

于 2013-08-10T17:17:06.657 に答える
0

パッケージ マネージャーを使用して、デバイスにカメラがあるかどうかを確認できます (カメラが有効になっている場合)。

http://developer.android.com/reference/android/content/pm/PackageManager.html#hasSystemFeature(java.lang.String)

PackageManager pm = context.getPackageManager();

if (pm.hasSystemFeature(PackageManager.FEATURE_CAMERA)) {
   // do your camera stuff
}
于 2013-08-10T17:43:28.673 に答える