Android - 是否可以检测是否存在物理相机按钮

时间:2012-01-26 21:11:30

标签: android camera

我正在编写一个应用程序,我想为用户提供重新映射硬件摄像头按钮以执行其他功能的选项。但是,如果设备没有硬件摄像头按钮,我想隐藏此选项。

有没有办法检测设备上是否存在相机按钮?

2 个答案:

答案 0 :(得分:2)

我的建议是要求用户按下相机按钮以重新映射它。这样,只有具有相机按钮的用户才能真正将其重新映射到某个东西。要求用户按下相机按钮的屏幕可能会显示“请按相机按钮。并非所有设备都有相机按钮。如果没有,请按返回取消。”

答案 1 :(得分:1)

不幸的是我不认为这是可能的。 PackageManager类可以为您提供有关不同内容的信息,但是否有硬相机按钮不是其中之一。你可以这样做:

boolean hasCamera = 
        getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA);

但不幸的是,没有像PackageManager.FEATURE_CAMERA_BUTTON

那样的东西

然而,你可以做的是对你知道有硬件相机按钮的特定设备的一系列检查中的硬代码,例如。

public boolean hasCameraButton() {
if(android.os.Build.MODEL.equals("droid1")) return true;
//more code here
}

其中droid1应该是实际的id ..我不知道它是什么