LED闪光灯激活



我正在尝试使用安卓设备中内置的闪光灯。我发现了一个非常有用的现有问题,但我现在看到了一个奇怪的编译错误。问题是我的代码中检查闪存可用性的部分。

boolean FlashAvails=Context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH);

存在一个编译错误,其内容为"无法从类型Context对非静态方法getPackageManager()进行静态引用"。

根据Javadoc,方法getPackageManager()不是静态的:http://developer.android.com/reference/android/content/Context.html

您需要获得对上下文的引用,然后才能调用该方法。

要获得上下文参考,您可以全部:

Context appContext =  Context.getApplicationContext();

然后您可以访问包管理器,如下所示:

appContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH);

确保包括导入:

import android.content.Context;

假设您使用的是Eclipse,您可以按:ctrl-shift-o,它将重新组织您的导入并提取任何缺少的内容。

如果你仍然有问题,另一种方法是获取相机参数,如本文所述:如何查找设备中是否有手电筒功能<=sdk 4

最新更新