Android 蓝牙开发,申请打开蓝牙
生活随笔
收集整理的這篇文章主要介紹了
Android 蓝牙开发,申请打开蓝牙
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
?申請(qǐng)打開藍(lán)牙
<!-- 藍(lán)牙權(quán)限 --> <uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />?
private final int BLUE_REQUEST_CODE = 551; public void showBLEDialog() {final Intent enableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);startActivityForResult(enableIntent, BLUE_REQUEST_CODE); }申請(qǐng)結(jié)果返回。。。。。?
@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);if (requestCode == 551){if (resultCode != RESULT_OK){LgqLogPlus.e("藍(lán)牙返回失敗。啦啦啦啦"); // showOpenBlue();}else {}}?
1、實(shí)現(xiàn)效果
? ? ? ? ??
?2、主要實(shí)現(xiàn)方法
(1)創(chuàng)建服務(wù)端:
//先用本地藍(lán)牙適配器創(chuàng)建一個(gè)serversocket serSocket= bluetoothAdapter.listenUsingRfcommWithServiceRecord(bluetoothAdapter.getName(), UUID.fromString("00001101-0000-1000-8000-00805F9B34FB")); Utils.sonUiStateMsg("正在等待連接"); if(socket!=null){Utils.sonUiStateMsg("連接成功");} //等待連接,該方法阻塞 socket=serSocket.accept();(2)創(chuàng)建客戶端
//創(chuàng)建一個(gè)socket嘗試連接,UUID用正確格式的String來轉(zhuǎn)換而成 socket = device.createRfcommSocketToServiceRecord(UUID.fromString("00001101-0000-1000-8000-00805F9B34FB")); Utils.sonUiStateMsg("正在連接,請(qǐng)稍后......"); //該方法阻塞,一直嘗試連接 socket.connect();(3)接收消息線程:
class ReadMsg extends Thread{@Overridepublic void run(){byte[] buffer = new byte[1024];//定義字節(jié)數(shù)組裝載信息int bytes;//定義長(zhǎng)度變量InputStream in=null;try {//使用socket獲得輸入流in = socket.getInputStream();//一直循環(huán)接收處理消息while(true){if((bytes=in.read(buffer))!=0){byte[] buf_data = new byte[bytes];for (int i = 0; i < bytes; i++){buf_data[i]=buffer[i];}String msg=new String(buf_data);//最后得到String類型消息Utils.sonUiInfoMsg(msg);TestObServernotice.getInstance().notifyObserver(0,2,msg);}}} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();Utils.sonUiStateMsg("連接已斷開");}finally{try {in.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}} }(4)發(fā)送消息方法
OutputStream out=socket.getOutputStream(); out.write(msg.getBytes());//將消息字節(jié)發(fā)出3、實(shí)現(xiàn)demo
demo:Android藍(lán)牙開發(fā),實(shí)現(xiàn)發(fā)送信息,接收消息demo_藍(lán)牙發(fā)送消息app,android藍(lán)牙信息-Android代碼類資源-CSDN下載
demo云盤:百度網(wǎng)盤 請(qǐng)輸入提取碼
在線bug交流:QQ1085220040
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的Android 蓝牙开发,申请打开蓝牙的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何把微信和支付宝的收款二维码合成一个?
- 下一篇: Android vector矢量图应用实