目前分類:藍芽類(Bluetooth) (112)

瀏覽方式: 標題列表 簡短摘要
package zhang.bluetooth;

 

import android.app.Activity;

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

Android对于蓝牙开发从2.0版本的sdk才开始支持,而且模拟器不支持,测试至少需要两部手机,所以制约了很多技术人员的开发。
      1.  首先,要操作蓝牙,先要在AndroidManifest.xml里加入权限

  // 管理蓝牙设备的权限  

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

1728_140710152625_1  

 

程式碼下載

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

1728_140804180141_1  

程式碼下載


shadow 發表在 痞客邦 PIXNET 留言(2) 人氣()

1728_140821164446_1  

程式碼下載


shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

1728_140825172342_1  

程式碼下載

 

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

1.权限 
使用蓝牙设备需要先在Manifest中开放权限,位置如下。 
[html] view plaincopy 

1

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()


package com.example.test;

import java.io.BufferedReader;

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

234FUA4-0  

軟體平臺:Windows 7 + Eclipse + SDK
設計思路:

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

package com.example.bluetooth;

import java.io.IOException;
import java.io.OutputStream;
import java.util.UUID;

import android.os.Bundle;
import android.app.Activity;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.bluetooth.BluetoothSocket;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.util.Log;
import android.view.Gravity;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

package zhang.bluetooth;

import android.app.Activity;
import android.bluetooth.BluetoothAdapter;

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

package com.ea.test;

import java.io.IOException;
import java.io.InputStream;

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

一.  清单文件AdroidManifest.xml:

<uses-permission android:name="android.permission.BLUETOOTH"/>

<!-若需要管理蓝牙设备,如修改可见性,则需以下的权限->
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>

 

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

package cn.madfinger.core;

import java.io.IOException;
import java.lang.reflect.Method;

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

package cn.madfinger.core;
 
import java.io.IOException;

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

package zhang.bluetooth;

import android.app.Activity;
import android.bluetooth.BluetoothAdapter;

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

使用BluetoothAdapter類,你能夠在Android設備上查找周邊的藍牙設備然後配對(綁定),藍牙通訊是基於唯一位址MAC來相互 傳輸的,考慮到安全問題Bluetooth通訊時需要先配對。然後開始相互連接,連接後設備將會共用同一個RFCOMM通道以便相互傳輸資料,目前這些實 現在Android 2.0或更高版本SDK上實現。
一、查找發現 findding/discovering devices
對於Android查找發現藍牙設備使用BluetoothAdapter類的startDiscovery()方法就可以執行一個非同步方式獲取周邊的藍 牙設備,因為是一個非同步方法所以我們不需要考慮執行緒被阻塞問題,整個過程大約需要12秒時間,這時我們緊接著註冊一個 BroadcastReceiver 物件來接收查找到的藍牙設備資訊,我們過濾ACTION_FOUND這個 Intent動作來獲取每個遠端設備的詳細資訊,通過附加參數在Intent欄位EXTRA_DEVICE 和 EXTRA_CLASS, 中包含了每個BluetoothDevice 物件和物件的該裝置類型 BluetoothClass ,示例代碼

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

一、開啟(BT Turn on Turn off) (藍牙的打開關閉由類BluetoothEnabler控制。)

 

1.由BluetoothEnabler控制介面操作,在其建構函式裡會先調用 LocalBluetoothManager.getInstance(coNtext)。

shadow 發表在 痞客邦 PIXNET 留言(1) 人氣()

藍牙涉及到的主要類
BluetoothAdapter 本地藍牙配接器
BluetoothClass 藍牙類

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

Android手機一般以用戶端的角色主動連接SPP協定設備(接上藍牙模組的數位感應器),連接流程是:
1.使用registerReceiver註冊BroadcastReceiver來獲取藍牙狀態、搜索設備等消息;
2.使用BlueAdatper的搜索;

shadow 發表在 痞客邦 PIXNET 留言(1) 人氣()