LED闪光灯激活

时间:2013-08-05 21:42:41

标签: android camera android-context led

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

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

有一个编译错误,它读取"无法从类型Context"中对非静态方法getPackageManager()进行静态引用。

1 个答案:

答案 0 :(得分:1)

根据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它将重新组织你的导入并拉入任何缺少的东西。

如果您仍然遇到问题,另一种方法是获取相机参数,如此帖子中所述:How to find flashlight feature is available or not in device < = sdk 4