android service和activity基于串口藍(lán)牙模塊的雙向通信

android service和activity基于串口藍(lán)牙模塊的雙向通信

ID:14264435

大?。?13.00 KB

頁數(shù):36頁

時(shí)間:2018-07-27

android service和activity基于串口藍(lán)牙模塊的雙向通信_(tái)第1頁
android service和activity基于串口藍(lán)牙模塊的雙向通信_(tái)第2頁
android service和activity基于串口藍(lán)牙模塊的雙向通信_(tái)第3頁
android service和activity基于串口藍(lán)牙模塊的雙向通信_(tái)第4頁
android service和activity基于串口藍(lán)牙模塊的雙向通信_(tái)第5頁
資源描述:

《android service和activity基于串口藍(lán)牙模塊的雙向通信》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫

1、AndroidService和Activity基于串口藍(lán)牙模塊的雙向通信驅(qū)動(dòng)藍(lán)牙模塊可以在Activity中直接調(diào)用,也可以在多線程下直接使用,但這樣會(huì)存在一個(gè)缺陷:當(dāng)你按下手機(jī)的Home或者Back鍵的時(shí)候.程序退出了,下次你重新啟動(dòng)軟件的時(shí)候又需要重新建立藍(lán)牙的鏈接了.為了克服以上問題,我把藍(lán)牙模塊的調(diào)用放到Service里面使用.首先對(duì)Service說明下:(來源于http://tianrui-wang-163-com.iteye.com/blog/983099)Service介紹Android中的服務(wù)和w

2、indows中的服務(wù)是類似的東西,服務(wù)一般沒有用戶操作界面,它運(yùn)行于系統(tǒng)中不容易被用戶發(fā)覺,可以使用它開發(fā)如監(jiān)控之類的程序。由于沒有可視化界面,Service都是從其它程序組件中啟動(dòng)、停止和控制,這些組件包括其它的Service、Activity和BroadcastReceiver。如果你的應(yīng)用程序正常且不間斷的運(yùn)行,而不直接依賴于用戶輸入,Service是你最佳的選擇。Service生命周期服務(wù)常用生命周期回調(diào)方法如下:onCreate()該方法在服務(wù)被創(chuàng)建時(shí)調(diào)用,該方法只會(huì)被調(diào)用一次,無論調(diào)用多少次start

3、Service()或bindService()方法,服務(wù)也只被創(chuàng)建一次。onDestroy()該方法在服務(wù)被終止時(shí)調(diào)用。Service對(duì)象不能自己?jiǎn)?dòng),需要通過某個(gè)Activity、Service或者其他Context對(duì)象來啟動(dòng)。啟動(dòng)的方法有兩種,Context.startService和Context.bindService()。兩種方式的生命周期是不同的,具體如下所示。Context.startService方式的生命周期:?jiǎn)?dòng)時(shí),startService–>onCreate()–>onStart()停止時(shí),

4、stopService–>onDestroy()Context.bindService方式的生命周期:綁定時(shí),bindService->onCreate()–>onBind()解綁定時(shí),unbindService–>onUnbind()–>onDestory()Service實(shí)現(xiàn)定義一個(gè)Service只需要如下兩步:第一步:繼承Service類publicclassSMSServiceextendsService{}這里可以選擇要實(shí)現(xiàn)的方法第二步:在AndroidManifest.xml文件中的

5、ion>節(jié)點(diǎn)里對(duì)服務(wù)進(jìn)行配置:好了,廢話少說,下面從我的代碼直接開始:[java]viewplaincopyprint?packagecom.lxx;importjava.io.IOException;importjava.io.InputStream;importjava.io.OutputStream;importjava.util.UUID;importandroid.app.Service;importandroi

6、d.bluetooth.BluetoothAdapter;importandroid.bluetooth.BluetoothDevice;importandroid.bluetooth.BluetoothSocket;importandroid.content.BroadcastReceiver;importandroid.content.Context;importandroid.content.Intent;importandroid.content.IntentFilter;importandroid.os

7、.IBinder;importandroid.util.Log;publicclassMyServiceextendsService{publicbooleanthreadFlag=true;MyThreadmyThread;CommandReceivercmdReceiver;//繼承自BroadcastReceiver對(duì)象,用于得到Activity發(fā)送過來的命令/**************service命令*********/staticfinalintCMD_STOP_SERVICE=0x01;stati

8、cfinalintCMD_SEND_DATA=0x02;staticfinalintCMD_SYSTEM_EXIT=0x03;staticfinalintCMD_SHOW_TOAST=0x04;privateBluetoothAdaptermBluetoothAdapter=null;privateBluetoothSocketbtSocket=null;privateO

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。