[英]send file via bluetooth in c# application
我想自動檢測我電腦周圍的所有設備並向他們發送文件
我正在使用 brecham 和 inthehand dll,
這是我的代碼:
BluetoothClient bc = new BluetoothClient();
BluetoothDeviceInfo[] info = null;
info = bc.DiscoverDevices(999);
foreach (BluetoothDeviceInfo device in info)
{
lstDevices.Items.Add(device.DeviceName + device.DeviceAddress);
device.Update();
device.Refresh();
device.SetServiceState(BluetoothService.ObexObjectPush, true);
if (!device.Authenticated)
{
// Use pin "0000" for authentication
if (!BluetoothSecurity.PairRequest(device.DeviceAddress, "0000")){
MessageBox.Show("Request failed");
}
}
var file = @"C:\1.jpg";
var uri = new Uri("obex://" + info[1].DeviceAddress + "/" + file);
var request = new ObexWebRequest(uri);
request.ReadFile(file);
var response = (ObexWebResponse)request.GetResponse();
MessageBox.Show(response.StatusCode.ToString());
//check response.StatusCode
response.Close();
}
但我收到消息“請求失敗!” 請問有人可以糾正我嗎?
有人有想法嗎?
通過對代碼的一些改動解決了問題:
if (!BluetoothRadio.IsSupported)
MessageBox.Show("No Bluetooth device detected.");
if (BluetoothRadio.PrimaryRadio.Mode == RadioMode.PowerOff)
BluetoothRadio.PrimaryRadio.Mode = RadioMode.Connectable;
MessageBox.Show(BluetoothRadio.PrimaryRadio.Name.ToString());
MessageBox.Show(BluetoothRadio.PrimaryRadio.Mode.ToString());
BluetoothClient bc = new BluetoothClient();
BluetoothDeviceInfo[] info = null;
info = bc.DiscoverDevices(999);
foreach (BluetoothDeviceInfo device in info)
{
lstDevices.Items.Add(device.DeviceName + " - " + device.DeviceAddress);
device.Update();
device.Refresh();
device.SetServiceState(BluetoothService.ObexObjectPush, true);
if (!device.Authenticated){
// Use pin "0000" for authentication
if (!BluetoothSecurity.PairRequest(device.DeviceAddress, "0000")){
MessageBox.Show("Request failed");
}
}
var file = @"d:\1.jpg";
var uri = new Uri("obex://" + device.DeviceAddress + "/" + file);
var request = new ObexWebRequest(uri);
request.ReadFile(file);
var response = (ObexWebResponse)request.GetResponse();
MessageBox.Show(response.StatusCode.ToString());
// check response.StatusCode
response.Close();
}
希望它對你和所有需要它的人有用:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.