Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.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 另一个android应用程序覆盖了我的按键监听程序_Java_Javascript_Android_Cordova_Cordova Plugins - Fatal编程技术网

Java 另一个android应用程序覆盖了我的按键监听程序

Java 另一个android应用程序覆盖了我的按键监听程序,java,javascript,android,cordova,cordova-plugins,Java,Javascript,Android,Cordova,Cordova Plugins,我的应用程序使用Cordova。我有一个插件,当我在装有安卓2.3的PDA上按下一个叫做扫描的按钮时,它就会被触发。当我按下这个按钮时,激光会打开并扫描条形码。问题是,当我在后台打开另一个具有此功能的应用程序时,当我按下扫描按钮时,启动该应用程序,而不是启动应用程序中的代码 我认为启动此硬件资源(扫描仪)的其他应用程序具有更高的优先级,并覆盖我的应用程序的关键事件。我的申请是否有可能具有更高的优先级 当我按下扫描按钮时,我从我的cordova插件运行此代码: Intent intentScan

我的应用程序使用Cordova。我有一个插件,当我在装有安卓2.3的PDA上按下一个叫做扫描的按钮时,它就会被触发。当我按下这个按钮时,激光会打开并扫描条形码。问题是,当我在后台打开另一个具有此功能的应用程序时,当我按下扫描按钮时,启动该应用程序,而不是启动应用程序中的代码

我认为启动此硬件资源(扫描仪)的其他应用程序具有更高的优先级,并覆盖我的应用程序的关键事件。我的申请是否有可能具有更高的优先级

当我按下扫描按钮时,我从我的cordova插件运行此代码:

Intent intentScan = new Intent("com.google.zxing.client.android.SCAN");
intentScan.addCategory(Intent.CATEGORY_DEFAULT);
intentScan.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intentScan.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
intentScan.putExtra("scan_mode", 5);
startActivityForResult(this, intentScan, 0);
这是我来自javascript的keylistener:

window.onkeydown = function (e) {
    if (e.keyCode == 0 && e.keyIdentifier == "U+000000") {
        datawedge.start();
    }
};

另一个应用程序有一个用于“com.google.zxing.client.android.SCAN”的意图过滤器,它触发应用程序的启动。在清单中定义相同的intenet筛选器,设备将询问哪个应用程序应该对该intenet做出反应。我尝试了keyup。该应用程序仍然会覆盖我的代码。我有两个PDA附带的应用程序:-当我在应用程序中按SCAN时启动的Scantool;-Scanwedge正在等待对文本框进行对焦。当你在一个文本框中,按Scan键时,这个应用程序会自动启动。可能使用另一个包。所以,意图过滤器没有帮助。如果我有一个代码来检查是否启用了ScanWedget,那就太好了。如果它处于活动状态,则禁用它。