1. android 藍牙查找和連接怎麼獲取uuid
看你走什麼協議
比方說你使用下面鏈接這種串口透傳的藍牙模塊通信,那麼UUID就是:
SPP_UUID = "-0000-1000-8000-00805F9B34FB"
2. Android藍牙開發那塊要用到uuid,這個UUID是可以在網上隨便找個程序生成就能用嗎
UUID是1.5中新增的一個類,在java.util下,用它可以產生一個號稱全球唯一的ID。
import java.util.UUID;
public class Test {
public static void main(String[] args) {
UUID uuid = UUID.randomUUID();
System.out.println (uuid);
}
}
是可以直接用的。
3. Android之獲取手機UUID
Android M動態申請獲取許可權android.permission.READ_PHONE_STATE
要獲取許可權進行操作的Activity實現 ActivityCompat.介面(這一步貌似不是必須):
其中REQUEST_READ_PHONE_STATE 是自定義的類常量,可以像下面這樣在activity中定義:
public final static int REQUEST_READ_PHONE_STATE = 1;
重寫onRequestPermissionsResult()方法,對許可權申請結果做處理:
4. android手機藍牙模塊怎麼獲取uuid
你設置成「00001101-0000-1000-8000-00805F9B34FB」
5. 確認Android中是否有藍牙的工具hciconfig
首先,要操作藍牙,先要在AndroidManifest.xml里加入許可權
然後,看下api,Android所有關於藍牙開發的類都在android.bluetooth包下。 而需要用到了就只有幾個而已:
1.BluetoothAdapter 顧名思義,藍牙適配器,直到我們建立bluetoothSocket連接之前,都要不斷操作它BluetoothAdapter里的方法很多,常用的有以下幾個:cancelDiscovery() 根據字面意思,是取消發現,也就是說正在搜索設備的時候調用這個方法將不再繼續搜索disable()關閉藍牙enable()打開藍牙,這個方法打開藍牙不會彈出提示,更多的時候需要問下用戶是否打開,一下這兩行代碼同樣是打開藍牙,不過會提示用戶:Intemtenabler=new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(enabler,reCode);//同startActivity(enabler);
getAddress()獲取本地藍牙地址getDefaultAdapter()獲取默認BluetoothAdapter,實際上,也只有這一種方法獲取BluetoothAdaptergetName()獲取本地藍牙名稱getRemoteDevice(String address)根據藍牙地址獲取遠程藍牙設備getState()獲取本地藍牙適配器當前狀態(感覺可能調試的時候更需要)isDiscovering()判斷當前是否正在查找設備,是返回true***isEnabled()判斷藍牙是否打開,已打開返回true,否則,返回false***(String name,UUID uuid)根據名稱,UUID創建並返回BluetoothServerSocket,這是創建BluetoothSocket伺服器端的第一步startDiscovery()開始搜索,這是搜索的第一步。 2.BluetoothDevice看名字就知道,這個類描述了一個藍牙設備(UUIDuuid)根據UUID創建並返回一個BluetoothSocket這個方法也是我們獲取BluetoothDevice的目的——創建BluetoothSocket
這個類其他的方法,如getAddress(),getName(),同BluetoothAdapter;
3.BluetoothServerSocket如果去除了Bluetooth相信大家一定再熟悉不過了,既然是Socket,方法就應該都差不多,這個類一種只有三個方法
兩個重載的accept(),accept(inttimeout)兩者的區別在於後面的方法指定了過時時間,需要注意的是,執行這兩個方法的時候,直到接收到了客戶端的請求(或是過期之後),都會阻塞線程,應該放在新線程里運行。
還有一點需要注意的是,這兩個方法都返回一個BluetoothSocket,最後的連接也是伺服器端與客戶端的兩個BluetoothSocket的連接。
4.BluetoothSocket,跟BluetoothServerSocket相對,是客戶端一共5個方法,不出意外,都會用到close(),關閉connect()連接getInptuStream()獲取輸入流getOutputStream()獲取輸出流getRemoteDevice()獲取遠程設備,這里指的是獲取bluetoothSocket指定連接的那個遠程藍牙設備 。
6. 最近在做Android藍牙通信,關於其中的UUID和配對密碼很是不解,求高手指點
可能跟socket協議是一樣的,首先是打開藍牙,發布自己的ip和一些信息,然後等待連接,配對密碼可能只是個許可權的認證,因為你們之前就是屬於通信狀態了。密碼只是個安全策略吧。
7. android怎樣獲取藍牙uuid
import
android.telephony.TelephonyManager;
//引入相關包
TelephonyManager
tm
=
(TelephonyManager)
this.getSystemService(TELEPHONY_SERVICE);
tm.getDeviceId();//得到設備唯一ID,(GSM手機的
IMEI
和
CDMA手機的
MEID)
8. 移動端設備標識碼-DeviceID、IMEI、IDFA、UDID
一:總覽
iOS設備標識碼
1、 device ID
2、 IMEI :iOS5之後被禁止,寫在主板上,不會變化。
3、 IDFA :Identifier For Advertising,iOS獨有的廣告標識符。但是用戶可以更改,不適用於做唯一標識。系統重置、在設置里還原廣告標識符,都會更改IDFA。
IDFA是一串16進制的32位串。
IDFA是蘋果iOS 6開始新增的廣告標識符,英文全稱是Identifier for Advertising,用於給開發者跟蹤廣告效果用的,可以簡單理解為iPhone的設備臨時身份證號,是說臨時身份證號,是因為IDFA允許用戶更換。iOS用戶可以通過(設置-通用-還原-還原位置與隱私)更換IDFA。iOS10系統提供用戶禁止廣告跟蹤功能,用戶勾選了這個功能後,應用程序講無法取讀到設備的IDFA。
IDFA是目前蘋果生態廣告交易的主要標識,一般跟廣告商 交易一個用戶後,廣告商 需要給你提供用戶的 IDFA作為憑證。主流的廣告平台廣點通、新浪粉絲通對賬都是基於IDFA的
4、 MAC地址 :硬體標識符,包括WiFi mac地址和藍牙mac地址。iOS 7 之後被禁止(同時禁止的還有OpenUDID)。
MAC地址在網路上用來區分設備的唯一性,接入網路的設備都有一個MAC地址,他們肯定都是不同的,是唯一的。一部iPhone上可能有多個MAC地址,包括WIFI的、SIM的等,但是iTouch和iPad上就有一個WIFI的,因此只需獲取WIFI的MAC地址就好了,也就是en0的地址。MAC地址就如同我們身份證上的身份證號碼,具有全球唯一性。但在iOS7之後,如果請求Mac地址都會返回一個固定值。
5、 UDID :用來標示設備的唯一性 。iOS 6 之後被禁止獲取系統原生的UDID,但可以通過uuid,寫入到鑰匙串中,從而獲得自定義的UDID(非系統原生),即使用戶重裝APP,只要每次都取這個鑰匙串返回,就是不變的。
UDID是由40個字元的字母和數據組成
Unique Device Indentifier,用戶不能更改,適合做唯一標識。但是蘋果禁止應用獲取UDID。
6、 UUID :APP重裝後會變化
Android設備標識碼
1、 Device ID 又叫做設備ID,可以用系統提供的TelephonyManager服務來獲取,具有唯一性。其中又包括IMEI和MEID/ESN。
2、 IMEI :GSM設備返回的,並且是寫在主板上的,重裝APP不會改變IMEI。Android 6.0以上系統需要用戶授予read_phone_state許可權,如果用戶拒絕就無法獲得。
3、 MAC地址 :硬體標識符,包括WiFi mac地址和藍牙mac地址。Android 6.0之後被禁止,若獲取則會被判定為有害應用。
4、 MEID/ESN :CDMA設備返回的,一般不使用。
5、 UDID :用來標示設備的唯一性。獲取UUID後,寫入.so文件生成UDID。即使APP重裝,值也不變,除非root手機(普通用戶做不到)
6、 UUID :APP重裝之後會改變
---未整理完,待續---
IMEI:International Mobile Equipment Identity,國際移動設備身份碼的縮寫。是由15位數字組成的「電子串號」,它與每台手機一一對應,每個IMEI在世界上都是唯一的。
UDID:Unique Device Identifier,唯一設備標識碼。
UUID:Universally Unique Identifier,通用唯一識別碼。目前最廣泛應用的UUID,是微軟公司的全局唯一標識符GUID。其目的是讓分布式系統中的所有元素,都能有唯一的辨識信息,而不需要通過中央控制端來做辨識信息的指定。