Tôi đang sử dụng mã sau để trả lại đối tượng cho Cordova khi chế độ quét Bluetooth của thiết bị thay đổi (tức là có thể phát hiện/không thể phát hiện được).EXTRA_PREVIOUS_SCAN_MODE luôn trả về lỗi cho Android Bluetooth
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));
Tuy nhiên, intent.getIntExtra(BluetoothAdapter.EXTRA_PREVIOUS_SCAN_MODE,BluetoothAdapter.ERROR)
luôn là BluetoothAdapter.ERROR
. Tôi đã thử thiết lập khả năng phát hiện và tắt liên tục nhiều lần và luôn là BluetoothAdapter.ERROR
. Làm thế nào để làm cho nó trở về chế độ quét trước đó?
Nội dung bạn đang phân tích cú pháp là gì? Thử in các cặp giá trị khóa qua Iterator. – Cookster
Mục đích là đặt Bluetooth ở chế độ có thể phát hiện được (bởi các thiết bị khác). Tôi có thể in các cặp khóa/giá trị của biến nào? –
BluetoothAdapter.EXTRA_PREVIOUS_CONNECTION_STATE này sẽ không hoạt động cho bạn với điều kiện bắt buộc? – pratz9999