phonegap android检查设备是否有闪存

时间:2013-10-07 10:16:44

标签: android cordova android-package-managers flashlight

我使用phonegap 3.0为android创建一个应用程序,我想检查设备是否有闪存灯光,但我遇到了getPackageManager()方法的问题,

这是java文件的一部分,我在设备上编译没有错误,但插件不起作用:

    ...
    import android.content.Context;
    import android.content.pm.PackageManager;

    public class Torch extends CordovaPlugin {


      Camera camera;
      Camera.Parameters Parameters;
      boolean hasFlash;
      Context my_service;

    /*  Constructor */
        public Torch() {  }

        public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {

            if (action.equals("shine")) {
                    hasFlash = my_service.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH);
                    if (!hasFlash) {  callbackContext.error("no torch found");  } 
                    else { this.shine(args.getBoolean(0));

        } ...

我也尝试了eclipse中的代码,只有没有Context my_service实例才有效。

hasFlash = getApplicationContext().getPackageManager()
                .hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH);

        if (!hasFlash) { ...

1 个答案:

答案 0 :(得分:1)

试试这个

    boolean hasFlash = this.cordova.getActivity().getPackageManager()
                .hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH);