我想知道是否有人知道如何在调试模式和发布模式之间切换代码?例如,在C#中,有#debug来区分调试代码.#debug中的代码仅在调试模式下执行.
在此先感谢您的帮助.
我正在研究一个从配对的蓝牙设备读取数据的android 4.0应用程序.我能够搜索可发现的蓝牙设备并配对设备.但是,我不确定如何通过串口从蓝牙设备读取数据?android系统是否支持SERIAL PORT?因为我在android系统中找不到像COM1或COM2这样的串口.目前,我正在使用BluetoothSocket配对设备.但是,有没有办法从像Windows这样的蓝牙串口读取数据呢?
socket = _devices.get(k).createRfcommSocketToServiceRecord(MY_UUID_SECURE);
socket.connect();
Run Code Online (Sandbox Code Playgroud)
任何帮助赞赏!谢谢你的支持.
问候,
查尔斯
在我的智能设备应用程序中,我有搜索所有可发现的蓝牙设备并使用Windows Mobile 6.5连接到设备的功能.当我按下按钮搜索蓝牙设备时,UI冻结,我无法做任何其他事情.在找到所有可发现的设备之后,UI再次响应.
我知道我应该使用线程来处理这个问题.但是,我没有成功地让它发挥作用.
这是我用于搜索蓝牙设备的代码.在代码中,我有两个BindingLists.一个是DiscoverableDevices,另一个是ConnectedSEMDevices,它们分别绑定到列表框和组合框.
private void SearchBTDevices()
{
// Thread thread = new Thread(new ThreadStart(delegate{
List<BluetoothDevice> list = new List<BluetoothDevice>();
this.discoverableDevices.Clear(); //DiscoverableDevices is binding to the form
list.foreach(x => this.Discoverable.Add(x));
ConnectedSEMDevices.Clear()
list.Where(x => x.HasAuthenticated).ToList().ForEach(x => ConnectedSEMDevices.Add(x)); // ConnectedSEMDevices is binding to the Form
// }));
// thread.Start();
}
Run Code Online (Sandbox Code Playgroud)
当我在上面的代码中取消注释掉Thread时,它没有做任何事情,也没有找到任何设备.在我评论出该帖子之后,它就有效了.有谁知道原因?我想以与搜索设备相同的形式执行其他操作.