MSR-BTX6 Android SDK 開發文檔

一、在項目集成 MSR-BTX6 SDK

首先須要在 AndroidManifest.xml 註冊服務和添加藍牙權限:html

<manifest> … … … <uses-permission android:name="android.permission.BLUETOOTH"/> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/> <application> … … … <service android:name="com.postech.btx6library.service.BTService"/> </application> </manifest> 

二、核心管理類 Management 詳解:

 

Public Static Method
Void bindService(Context context,ServiceBinderCallback callback)
在當前 Activity 綁定服務BTService,callback 能監聽 BTService 的綁定結果。
Void unBindService(Context context)
退出 Activity 時,解除 BTService 的綁定。
Void startConnection(String address)
鏈接藍牙設備,address 是藍牙設備的地址。
Void stopConnection()
斷開已經鏈接的藍牙設備。
Void setSendCmdCallbackListener(SendCmdCallbackListener CallbackListener) 添加發送命令監聽器,在已鏈接狀態,向藍牙設備發送命令後,返回對應結果。
Void setDeviceConnectionStatusListener(DeviceConnectionStatusListener listener)
監聽藍牙設備的鏈接狀態。
Void sendInitCmd()
發送初始化命令。
Void sendReadCmd()
發送讀卡命令。
Void sendWriteCmd(String track1,String track2,String track3)
發送寫卡命令,三個參數分別對應軌道1、2、三的數據。注意:軌道一數據長度最大不能超過 76 個字節,軌道二數據長度最大不超過 37 個字節,軌道三數據長度最大不超過 104 個字節。 三條軌道的數據不能同時爲空。
Void checkTrackCharacter(int number,String trackString)
在發送寫卡命令前,檢查發送的字符是否符合軌道的數據格式,返回 true,表示格式正確;返回 false,表示格式不正確。number 表明軌道號,範圍在 1-3 之間, trackString 是須要發送的數據。
Void 111sendEraseCmd(int track1,int track2,int track3)
發送擦除命令,三個參數分別對應軌道1、2、三。0 表示不擦除,1 表示擦除。
Void sendEraseCmd(int track1,int track2,int track3)
發送擦除命令,三個參數分別對應軌道1、2、三。0 表示不擦除,1 表示擦除。
Void sendCardTypeCmd(int type)
設置高抗卡(type=0)或者低抗卡(type=1)。
Void sendLeadingZeros(int B210,int B75)
設置軌道的前導零。建議默認值(62,22)。
Void sendSetNameCmd(String name)
設置藍牙設備的名字。只能由字母和數字組成
Void getDeviceVoltage()
獲取藍牙設備的電壓和電量。
Void startSearchBluetoothDevice(BluetoothSearchResultCallback resultCallback)
啓動藍牙搜索。resultCallback 監控藍牙搜索狀態變化。
Void cancelSearchBluetoothDevice()
取消藍牙搜索

注意:發送讀卡、寫卡、擦除命令後,再發送下一個命令前,須要先發送初始化命令
對設備進行初始化。android

三、ServiceBinderCallback 詳解

Public Method
Void binderSuccess()
BTService 綁定成功時執行
Void binderFailed()
BTService 綁定異常時執行

四、發送命令完畢,監聽返回結果,SendCmdCallbackListener 詳解

Public Method
Void receiveInitResult(boolean initFlag)
initFlag = true 時,表示初始化成功,不然,表示失敗。
Void receiveReadResult(String track1,String track2,String track3)
接收讀卡數據,track1 表示軌道一的數據,track2 表示軌道二的數據,track3 表示軌道三的數據。
Void writeCmdCallback(boolean writeCmd)
writeCmd = true 時,表示寫卡命令發送成功,不然,失敗。
Void receiveWriteResult(boolean writeFlag)
writeFlag = true 時,表示寫入軌道的數據正確,不然,錯誤。
Void receiveCardTypeResult(boolean typeFlag)
typeFlag = true 時,表示高抗或者低抗卡設置成功,不然,失敗。
Void receiveEraseResult(boolean eraseFlag)
eraseFlag = true 時,表示擦除命令發送成功,不然,失敗。
Void receiveSetupCardResult(boolean setupFlag)
setupFlag = true 時,表示前導零設置成功,不然,失敗。
Void receiveSetNameResult(boolean nameFlag)
修改藍牙設備的名字後,會斷開藍牙,這裏沒有消息返回。
Void receiveElectricityResult(boolean flag,String voltage,String energy)
獲取藍牙設備的電壓(voltage),電量(energy);flag = false 時,表示電壓低,voltage和 energy 的值都等於 Low。
Void receiveEmptyCardResult()
當擦除全部的軌道數據時,能夠在這提示軌道數據已徹底擦除。
Void recordSwipeCardCounter(int counter)
記錄讀卡,寫卡,擦除的成功次數。
Void receiveSwipeCardErrorResult()
刷卡錯誤時執行,能夠在這裏做出提示。

五、DeviceConnectionStatusListener 詳解,用來獲取藍牙設備的鏈接狀態。

Constant
Static CONNECTING_STATUS 
正在鏈接
Static CONNECTED_STATUS 
已鏈接成功
Static DISCONNECT_STATUS 
斷開鏈接
Static CONNECT_FAILED 
鏈接失敗
 
Public Method
void onStatusEvent(int status) 
藍牙設備鏈接狀態切換

六、BluetoothSearchResultCallback 詳解,調用 startSearchBluetoothDevice()搜索藍牙時,須要傳入 BluetoothSearchResultCallback 對象。

Public Method
void notSupportBluetooth()
手機不支持藍牙時執行。
void bluetoothDisable(BluetoothAdapter bluetoothAdapter)
手機藍牙沒有開啓時執行, 能夠用 bluetoothAdapter.enable()開啓。
void startSearch()
啓動手機藍牙搜索時執行,能夠在這作預加載。
void getSearchResult(String deviceName,String deviceAddress)
在這獲取藍牙設備的名字和地址。
void searchingBluetoothDevice()
正在搜索藍牙。在藍牙搜索沒有中止以前,再次啓動藍牙搜索時執行。
void searchFinished()
藍牙搜索結束時執行。

七、軌道數據的字符格式

軌道一的字符格式
0 1 2 3 4 5 6 7 8 9
: ; < = >   ! " # $
% & ? ( ) * + , - .
/ @ A B C D E F G H
I J K L M N O P Q R
S T U V W X Y Z [ ]
\ ^ _
軌道2、軌道三的字符格式
0 1 2 3 4 5 6 7 8 9
: ; < > = ?

八、處理特殊異常

AllTrackDataNullException
當發送寫卡命令,三個參數都爲 null 時,會拋出這個異常。
TrackLengthException
當發送寫卡命令,軌道數據長度超出限定長度時,會拋出這個異常。
TrackCharacterFormatException
當發送寫卡命令,軌道數據的字符格式錯誤時,會拋出這個異常。
DeviceNameFormatException
設置藍牙設備名字,字符格式錯誤時,會拋出這個異常。

BTX6是世界上惟一一款藍牙磁條卡讀寫器,由深圳市優力科創自主研發生產,能夠在無電源接入的狀況下讀取與寫入市面上全部的磁條卡數據,BTX6體積小很小,便於攜帶重量只有138.7克,內置450毫安鋰電池,連續工做時間超過了3小時。經過無線藍牙與手機,平板電腦,筆記本等設備鏈接,兼容Windows 7,8,Vista,Xp,2000(32&64位)MacBook Air,MacBook Pro,Mac Mini,Mac Pro,iMac)、Unix,Linux、ios,Android的全部主流操做系統。免費提供配套軟件。
ios

相關下載:

BTX6 安卓中文版說明書
BTX6 Android SDK 開發包app

相關文章
相關標籤/搜索