什麼是您的設備的getBTMajorDeviceClass? 如果BluetoothClass.Device.Major.UNCATEGORIZED,嘗試生成自己的UUID:
private UUID generateUuid() {
String android_id = Secure.getString(getApplicationContext()
.getContentResolver(), Secure.ANDROID_ID);
Log.i("System out", "android_id : " + android_id);
final TelephonyManager tm = (TelephonyManager) getBaseContext()
.getSystemService(Context.TELEPHONY_SERVICE);
final String tmDevice, tmSerial, androidId;
tmDevice = "" + tm.getDeviceId();
Log.i("System out", "tmDevice : " + tmDevice);
tmSerial = "" + tm.getSimSerialNumber();
Log.i("System out", "tmSerial : " + tmSerial);
androidId = ""
+ android.provider.Settings.Secure.getString(
getContentResolver(),
android.provider.Settings.Secure.ANDROID_ID);
UUID deviceUuid = new UUID(androidId.hashCode(),
((long) tmDevice.hashCode() << 32) | tmSerial.hashCode());
return deviceUuid;
}
,並用它在套接字創建createRfcommSocketToServiceRecord(generateUuid());
*需要READ_PHONE_STATE
你檢查了Android樣品藍牙聊天應用?它通過藍牙提供完全功能的聊天,我試過了,它沒有問題。試一試。 – k0sh 2013-03-12 13:52:19
我希望我能投票下來...呵呵,只是開玩笑。但是,當然,我做到了。我花了數小時參考實施。我花了更多的時間用AIDL黑客來反映隱藏的藍牙類,以建立一個程序化連接。我花了很多時間檢查谷歌鏈接和實施dozends。我花了幾個小時閱讀了維基上的藍牙規範以及幾乎所有我可以在此找到的內容...... – 2013-03-12 14:09:15
@JohnSmith不幸的是,沒有辦法降低評論...回到你的問題當你嘗試使用哪種方法時檢索套接字? – Rigotti 2013-03-12 18:16:04