我正在第一次使用藍牙。我得到了配對設備的列表。現在我的要求是我需要發送一些數據(字符串)到設備。我怎樣才能做到這一點?我試圖搜索,但沒有發現任何有用的東西。任何人都可以幫忙嗎?如何將數據(字符串)發送到Android中的配對設備?
1
A
回答
1
像這樣的東西可能就足夠了:
DataOutputStream os;
BluetoothAdapter bluetooth = BluetoothAdapter.getDefaultAdapter();
BroadcastReceiver discoveryResult = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
String remoteDeviceName = intent.getStringExtra(BluetoothDevice.EXTRA_NAME);
BluetoothDevice remoteDevice;
remoteDevice = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
Toast.makeText(getApplicationContext(), "Discovered: " + remoteDeviceName + " address " + remoteDevice.getAddress(), Toast.LENGTH_SHORT).show();
try{
BluetoothDevice device = bluetooth.getRemoteDevice(remoteDevice.getAddress());
Method m = device.getClass().getMethod("createRfcommSocket", new Class[] {int.class});
BluetoothSocket clientSocket = (BluetoothSocket) m.invoke(device, 1);
clientSocket.connect();
os = new DataOutputStream(clientSocket.getOutputStream());
new clientSock().start();
} catch (Exception e) {
e.printStackTrace();
Log.e("BLUETOOTH", e.getMessage());
}
}
};
registerReceiver(discoveryResult, new IntentFilter(BluetoothDevice.ACTION_FOUND));
bluetooth.enable();
if (!bluetooth.isDiscovering()) {
bluetooth.startDiscovery();
}
public class clientSock extends Thread {
public void run() {
try {
os.writeBytes("anything you want"); // anything you want
os.flush();
} catch (Exception e1) {
e1.printStackTrace();
return;
}
}
}
您還需要大量進口,如這些的:
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.lang.reflect.Method;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.List;
import java.util.UUID;
import android.os.Bundle;
import android.os.StrictMode;
import android.app.Activity;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.bluetooth.BluetoothSocket;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.util.Log;
import android.view.Menu;
import android.widget.Toast;
注意,並不是所有的進口是必要的這個例子的代碼,你的IDE可能會幫助你爲你排序。
在os.writeBytes("anything you want"); // anything you want
行上傳遞數據。
您還需要Permissions
0
Android開發人員網站提供了一些優秀的文檔&示例代碼來幫助您做到這一點。 http://developer.android.com/guide/topics/connectivity/bluetooth.html
希望有幫助!
相關問題
- 1. 從Android設備發送/獲取字符串數據到Windows CE設備?
- 2. 如何將Android設備的原始數據發送到主機?
- 3. Android設備發送空數據到PHP
- 4. 發送字節串到串口設備
- 5. 如何將字符串數據發送到JavaScript?
- 6. 如何從Android設備發送字節數組到servlet
- 7. 如何將字符串發送到Android的PHP文件?
- 8. 如何從一個Android設備發送數據到另一個?
- 9. 如何通過NFC將文本字符串發送到其他設備?
- 10. 將數據從設備發送到設備
- 11. 將BLE設備連接到Android發送數據(nUART)
- 12. 將ZPL數據字符串發送到Ruby中的IP地址
- 13. 如何配置BlueMix將數據從設備A推送到設備B?
- 14. 如何從一個Android設備發送數據串到另一個?
- 15. Arduino設備發送的數據中缺少「NewLine」字符
- 16. Linux cdc_acm設備 - 發送到設備的意外字符
- 17. 如何將假短信發送到我的Android設備
- 18. 通過Java套接字將文件發送到Android設備時數據丟失
- 19. 如何將JSON字符串從arduino發送到android設備的響應方面,然後解碼android應用程序中的字符串?
- 20. 如何將字符串值發送到mvc中的操作?
- 21. 如何將Lex匹配字符串的Yyleng發送給Yacc?
- 22. Android發送字符串到PHP
- 23. 如何將字符串參數從C#發送到PowerShell?
- 24. 如何發送字符串數據到java webservice?
- 25. 將字符發送到數據庫時發生字符問題
- 26. 如何在Android中使用藍牙和發送數據到其他設備
- 27. 如何從Android設備向Arduino adk發送數據
- 28. 如何將單字符ASCII數據發送到使用python的串行端口
- 29. 使用Ajax將字符串數據發送到Java
- 30. 從設備到設備推送數據?
謝謝,但是在哪裏傳遞數據?以及如何服務器UUID? – ashokgujju 2014-08-30 00:35:01
更新後的答案,UUID實際上並不是我所需要的,但我認爲它是舊的代碼..大約一歲,所以我實際上並沒有記住,你也必須爲自己制定溝通的另一面。 – 19greg96 2014-08-30 01:02:33