Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.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
EXTRA_PREVIOUS_SCAN_模式总是为Android蓝牙返回一个错误_Android_Cordova_Bluetooth - Fatal编程技术网

EXTRA_PREVIOUS_SCAN_模式总是为Android蓝牙返回一个错误

EXTRA_PREVIOUS_SCAN_模式总是为Android蓝牙返回一个错误,android,cordova,bluetooth,Android,Cordova,Bluetooth,当设备的蓝牙扫描模式改变(即可发现/不可发现)时,我使用以下代码将对象返回Cordova 但是,intent.getIntExtra(BluetoothAdapter.EXTRA\u PREVIOUS\u SCAN\u MODE,BluetoothAdapter.ERROR)始终是BluetoothAdapter.ERROR。我连续几次尝试打开和关闭可发现性,结果总是BluetoothAdapter.ERROR。如何使其返回上一扫描模式?从我在源代码中看到的情况来看,EXTRA\u previo

当设备的蓝牙扫描模式改变(即可发现/不可发现)时,我使用以下代码将对象返回Cordova


但是,
intent.getIntExtra(BluetoothAdapter.EXTRA\u PREVIOUS\u SCAN\u MODE,BluetoothAdapter.ERROR)
始终是
BluetoothAdapter.ERROR
。我连续几次尝试打开和关闭可发现性,结果总是
BluetoothAdapter.ERROR
。如何使其返回上一扫描模式?

从我在源代码中看到的情况来看,
EXTRA\u previous\u scan\u mode
从未被使用过。所以我猜谷歌的文档在这种情况下是错误的。如果您在整个源代码中没有引用搜索结果

您要解析的意图中有什么?尝试通过迭代器打印键值对。目的是将蓝牙设置为可发现(由其他设备)。我应该打印哪个变量的键/值对?此BluetoothAdapter.EXTRA\u PREVIOUS\u CONNECTION\u状态在需要的条件下无法工作?我认为您的意图是出于某种原因(目前未知)缺少“EXTRA\u PREVIOUS\u SCAN\u MODE”int。试着调试并打印你意图中的所有键,看看它是否在那里。如果不是,我们将看看如何进一步进行。尝试以下代码来编写所有数据:谢谢@Tom,我会在回家后再尝试。
cordova.getActivity().getApplicationContext().registerReceiver(new BroadcastReceiver(){
    @Override
    public void onReceive(Context c,Intent intent){
        JSONObject json=new JSONObject();
        try{
            json.put("current",intent.getIntExtra(BluetoothAdapter.EXTRA_SCAN_MODE,BluetoothAdapter.ERROR));
            json.put("previous",intent.getIntExtra(BluetoothAdapter.EXTRA_PREVIOUS_SCAN_MODE,BluetoothAdapter.ERROR));
        }catch(JSONException e){
        }
        PluginResult result=new PluginResult(PluginResult.Status.OK,json);
        result.setKeepCallback(true);
        discoverableCallback.sendPluginResult(result); // discoverableCallback is a callbackContext
    }
},new IntentFilter(BluetoothAdapter.ACTION_SCAN_MODE_CHANGED));