Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 启动摄像头活动Cordova插件_Java_Javascript_Android_Cordova_Phonegap Plugins - Fatal编程技术网

Java 启动摄像头活动Cordova插件

Java 启动摄像头活动Cordova插件,java,javascript,android,cordova,phonegap-plugins,Java,Javascript,Android,Cordova,Phonegap Plugins,基本上,我想做的是创建Aztec代码读取器插件。 所以我需要在我的应用程序中打开一些摄像头屏幕。我应该在Java代码中这样做,现在看起来是这样的: public class AztecReaderPlugin extends CordovaPlugin { @Override public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONExcep

基本上,我想做的是创建Aztec代码读取器插件。 所以我需要在我的应用程序中打开一些摄像头屏幕。我应该在Java代码中这样做,现在看起来是这样的:

public class AztecReaderPlugin extends CordovaPlugin {
    @Override
    public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {
        try {
            if(action.equals("open")) {
                Context context = cordova.getActivity().getApplicationContext();
                Intent intent = new Intent(context, MainActivity.class);
                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                context.startActivity(intent);
                callbackContext.success();
                return true;
            }
            callbackContext.error("Something gone wrong!");
            return false;
        } catch (Exception e) {
            callbackContext.error(e.getMessage());
            return false;
        }
    }
}
它基本上应该在
MainActivity
类中执行代码。而
MainActivity
class方法
onCreate
如下所示:

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,    WindowManager.LayoutParams.FLAG_FULLSCREEN);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

        setContentView(R.layout.activity_main);

        Button btnDoFocus = (Button)findViewById(R.id.buttonAutoFocus);
        btnDoFocus.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                preview.autoFocus();
            }
        });


        Button btnDoAztec = (Button)findViewById(R.id.buttonDoAztec);
        btnDoAztec.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View arg0) {
                preview.setEnableReadAztecCode(true);
            }
        });
    }
问题是,当我确实忘记了AztecReaderPlugin,并将其作为一个独立的Android应用程序运行时,它的工作方式与我所希望的一样

我找不到任何能帮助我解决问题的教程/帖子,我也没有时间学习Android开发

所以我的问题是:我如何在Cordova应用程序中包含Aztec代码读取器

//编辑

我可以将我的插件包含到应用程序中,问题在于
AztecReaderPlugin
类和一些与活动相关的方法。我的问题是我无法通过cordova打开某种相机视图。这个摄像头视图就是我的插件。

当然可以

首先,您需要在config.xml中声明您的自定义插件。您可以在res>xml文件夹中找到此文件

<feature name="CustomPlugin">
      <param name="android-package" value="com.Phonegap.CustomPlugin" />
</feature>
最后,我们从javascript调用一个插件

function initial(){
    var name = $("#NameInput").val();
    cordova.exec(sayHelloSuccess, sayHelloFailure, "CustomPlugin", "sayHello", [name]);
}

function sayHelloSuccess(data){
    alert("OK: " + data);
}

function sayHelloFailure(data){
    alert("FAIL: " + data);
}

这不是我想要实现的。我的问题是,我想在Cordova插件中运行某种相机视图。但我想我确实写错了什么。
function initial(){
    var name = $("#NameInput").val();
    cordova.exec(sayHelloSuccess, sayHelloFailure, "CustomPlugin", "sayHello", [name]);
}

function sayHelloSuccess(data){
    alert("OK: " + data);
}

function sayHelloFailure(data){
    alert("FAIL: " + data);
}