我正在尋找通過rfcomm套接字不安全地連接的方式。我能找到下面提到的方式如何在Android中創建不安全的RFCOMM套接字?
Method m = device.getClass().getMethod("createInsecureRfcommSocket", new Class[] {int.class});
tmp = (BluetoothSocket) m.invoke(device, 1);
這暫且是做我想做的。即使通過here的文檔說我們需要使用createInsecureRfcommSocketToServiceRecord進行不安全的連接。但是沒有這樣的方法。我發現的唯一方法是使用如上所示的反射。即使在這個方法中,傳遞給createInsecureRfcommSocket而不是createInsecureRfcommSocketToServiceRecord。我只是想知道這種方式有多可靠。如果我在方法中提到createInsecureRfcommSocketToServiceRecord,連接永遠不會發生。
非常感謝我指向正確的方向。如果該API僅在API級別10後纔可用,那麼如果我正在使用Android 2.1 – sunil 2011-03-16 07:07:18
ATM進行開發,那麼如何不安全地連接到設備,您已找到最佳折中方案。請記住,反射解決方案可能會在更高版本中消失,因此您可能希望編寫代碼以使用「Build.VERSION」檢查設備上的版本,並使用2.3和更高版本的公共API。這將要求您將目標API級別提高到10,但將最低API級別保留爲5(或7),以便它仍然可以在運行2.1或2.2的早期設備上運行。希望有所幫助! – Devunwired 2011-03-16 13:52:37
@Wireless,但它可以在API 7中使用createInsecureRfcommSocketToServiceRecord()方法嗎? – 2011-07-27 07:43:59