1. 程式人生 > >安卓藍芽串列埠例子修改

安卓藍芽串列埠例子修改

BluetoothChatService.java
的第49行         
    private static final UUID MY_UUID = UUID.fromString("fa87c0d0-afac-11de-8a39-0800200c9a66");                        
中的字串不同,於是把他替換成藍芽串列埠服務 (SPP) 的 UUID                        
    private static final UUID MY_UUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");
儲存後執行程式到手機上,把電腦上的藍芽開啟,開啟電腦上的串列埠助手,波特率隨便設定就可以了



關於UUID



手機藍芽各類服務對應的UUID(常用的幾個已通過驗證)
作者 haojunming  http://blog.csdn.net/haojunming/article/details/6650568






ServiceDiscoveryServerServiceClassID_UUID = '{00001000-0000-1000-8000-00805F9B34FB}' 
BrowseGroupDescriptorServiceClassID_UUID = '{00001001-0000-1000-8000-00805F9B34FB}' 
PublicBrowseGroupServiceClass_UUID = '{00001002-0000-1000-8000-00805F9B34FB}' 


#藍芽串列埠服務 
SerialPortServiceClass_UUID = '{00001101-0000-1000-8000-00805F9B34FB}' 



LANAccessUsingPPPServiceClass_UUID = '{00001102-0000-1000-8000-00805F9B34FB}' 


#撥號網路服務 
DialupNetworkingServiceClass_UUID = '{00001103-0000-1000-8000-00805F9B34FB}' 


#資訊同步服務 
IrMCSyncServiceClass_UUID = '{00001104-0000-1000-8000-00805F9B34FB}' 


SDP_OBEXObjectPushServiceClass_UUID = '{00001105-0000-1000-8000-00805F9B34FB}' 


#檔案傳輸服務 
OBEXFileTransferServiceClass_UUID = '{00001106-0000-1000-8000-00805F9B34FB}' 



IrMCSyncCommandServiceClass_UUID = '{00001107-0000-1000-8000-00805F9B34FB}' 
SDP_HeadsetServiceClass_UUID = '{00001108-0000-1000-8000-00805F9B34FB}' 
CordlessTelephonyServiceClass_UUID = '{00001109-0000-1000-8000-00805F9B34FB}' 
SDP_AudioSourceServiceClass_UUID = '{0000110A-0000-1000-8000-00805F9B34FB}' 
SDP_AudioSinkServiceClass_UUID = '{0000110B-0000-1000-8000-00805F9B34FB}' 
SDP_AVRemoteControlTargetServiceClass_UUID = '{0000110C-0000-1000-8000-00805F9B34FB}' 
SDP_AdvancedAudioDistributionServiceClass_UUID = '{0000110D-0000-1000-8000-00805F9B34FB}' 
SDP_AVRemoteControlServiceClass_UUID = '{0000110E-0000-1000-8000-00805F9B34FB}' 
VideoConferencingServiceClass_UUID = '{0000110F-0000-1000-8000-00805F9B34FB}' 
IntercomServiceClass_UUID = '{00001110-0000-1000-8000-00805F9B34FB}' 


#藍芽傳真服務 
FaxServiceClass_UUID = '{00001111-0000-1000-8000-00805F9B34FB}' 


HeadsetAudioGatewayServiceClass_UUID = '{00001112-0000-1000-8000-00805F9B34FB}' 
WAPServiceClass_UUID = '{00001113-0000-1000-8000-00805F9B34FB}' 
WAPClientServiceClass_UUID = '{00001114-0000-1000-8000-00805F9B34FB}' 


#個人區域網服務 
PANUServiceClass_UUID = '{00001115-0000-1000-8000-00805F9B34FB}' 


#個人區域網服務 
NAPServiceClass_UUID = '{00001116-0000-1000-8000-00805F9B34FB}' 


#個人區域網服務 
GNServiceClass_UUID = '{00001117-0000-1000-8000-00805F9B34FB}' 


DirectPrintingServiceClass_UUID = '{00001118-0000-1000-8000-00805F9B34FB}' 
ReferencePrintingServiceClass_UUID = '{00001119-0000-1000-8000-00805F9B34FB}' 
ImagingServiceClass_UUID = '{0000111A-0000-1000-8000-00805F9B34FB}' 
ImagingResponderServiceClass_UUID = '{0000111B-0000-1000-8000-00805F9B34FB}' 
ImagingAutomaticArchiveServiceClass_UUID = '{0000111C-0000-1000-8000-00805F9B34FB}' 
ImagingReferenceObjectsServiceClass_UUID = '{0000111D-0000-1000-8000-00805F9B34FB}' 
SDP_HandsfreeServiceClass_UUID = '{0000111E-0000-1000-8000-00805F9B34FB}' 
HandsfreeAudioGatewayServiceClass_UUID = '{0000111F-0000-1000-8000-00805F9B34FB}' 
DirectPrintingReferenceObjectsServiceClass_UUID = '{00001120-0000-1000-8000-00805F9B34FB}' 
ReflectedUIServiceClass_UUID = '{00001121-0000-1000-8000-00805F9B34FB}' 
BasicPringingServiceClass_UUID = '{00001122-0000-1000-8000-00805F9B34FB}' 
PrintingStatusServiceClass_UUID = '{00001123-0000-1000-8000-00805F9B34FB}' 


#人機輸入服務 
HumanInterfaceDeviceServiceClass_UUID = '{00001124-0000-1000-8000-00805F9B34FB}' 


HardcopyCableReplacementServiceClass_UUID = '{00001125-0000-1000-8000-00805F9B34FB}' 


#藍芽列印服務 
HCRPrintServiceClass_UUID = '{00001126-0000-1000-8000-00805F9B34FB}' 


HCRScanServiceClass_UUID = '{00001127-0000-1000-8000-00805F9B34FB}' 
CommonISDNAccessServiceClass_UUID = '{00001128-0000-1000-8000-00805F9B34FB}' 
VideoConferencingGWServiceClass_UUID = '{00001129-0000-1000-8000-00805F9B34FB}' 
UDIMTServiceClass_UUID = '{0000112A-0000-1000-8000-00805F9B34FB}' 
UDITAServiceClass_UUID = '{0000112B-0000-1000-8000-00805F9B34FB}' 
AudioVideoServiceClass_UUID = '{0000112C-0000-1000-8000-00805F9B34FB}' 
SIMAccessServiceClass_UUID = '{0000112D-0000-1000-8000-00805F9B34FB}' 
PnPInformationServiceClass_UUID = '{00001200-0000-1000-8000-00805F9B34FB}' 
GenericNetworkingServiceClass_UUID = '{00001201-0000-1000-8000-00805F9B34FB}' 
GenericFileTransferServiceClass_UUID = '{00001202-0000-1000-8000-00805F9B34FB}' 
GenericAudioServiceClass_UUID = '{00001203-0000-1000-8000-00805F9B34FB}' 
GenericTelephonyServiceClass_UUID = '{00001204-0000-1000-8000-00805F9B34FB}'


不支援中文是因為Android上的字元是UTF-8 的,而你傳送的是GB2312編碼的。所以會出現亂碼。
這個是我認為的,可能不對。
我是這樣做的,傳送的時候要這樣轉一下:


send = message.getBytes("GBK");


接收後也要轉一下:
readMessage = new String(readBuf, 0, msg.arg1,"GBK");