国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Android Bluetooth(一)——藍(lán)牙的開啟和搜索

這篇具有很好參考價(jià)值的文章主要介紹了Android Bluetooth(一)——藍(lán)牙的開啟和搜索。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

Android Bluetooth(一)——藍(lán)牙的開啟和搜索

概覽

Android 平臺(tái)包含藍(lán)牙網(wǎng)絡(luò)堆棧支持,此支持能讓設(shè)備以無線方式與其他藍(lán)牙設(shè)備交換數(shù)據(jù)。應(yīng)用框架提供通過 Android Bluetooth API 訪問藍(lán)牙功能的權(quán)限。這些 API 允許應(yīng)用以無線方式連接到其他藍(lán)牙設(shè)備,從而實(shí)現(xiàn)點(diǎn)到點(diǎn)和多點(diǎn)無線功能。

Android 應(yīng)用可通過 Bluetooth API 執(zhí)行以下操作:

  • 掃描其他藍(lán)牙設(shè)備
  • 查詢本地藍(lán)牙適配器的配對(duì)藍(lán)牙設(shè)備
  • 建立 RFCOMM 通道
  • 通過服務(wù)發(fā)現(xiàn)連接到其他設(shè)備
  • 與其他設(shè)備進(jìn)行雙向數(shù)據(jù)傳輸
  • 管理多個(gè)連接

本文重點(diǎn)介紹傳統(tǒng)藍(lán)牙。傳統(tǒng)藍(lán)牙適用于較為耗電的操作,其中包括 Android 設(shè)備之間的流式傳輸和通信等。針對(duì)具有低功耗要求的藍(lán)牙設(shè)備,Android 4.3(API 級(jí)別 18)中引入了面向低功耗藍(lán)牙的 API 支持。

為了讓支持藍(lán)牙的設(shè)備能夠在彼此之間傳輸數(shù)據(jù),它們必須先通過配對(duì)過程形成通信通道。其中一臺(tái)設(shè)備(可檢測(cè)到的設(shè)備)需將自身設(shè)置為可接收傳入的連接請(qǐng)求。另一臺(tái)設(shè)備會(huì)使用服務(wù)發(fā)現(xiàn)過程找到此可檢測(cè)到的設(shè)備。在可檢測(cè)到的設(shè)備接受配對(duì)請(qǐng)求后,這兩臺(tái)設(shè)備會(huì)完成綁定過程,并在此期間交換安全密鑰。二者會(huì)緩存這些密鑰,以供日后使用。完成配對(duì)和綁定過程后,兩臺(tái)設(shè)備會(huì)交換信息。當(dāng)會(huì)話完成時(shí),發(fā)起配對(duì)請(qǐng)求的設(shè)備會(huì)發(fā)布已將其鏈接到可檢測(cè)設(shè)備的通道。但是,這兩臺(tái)設(shè)備仍保持綁定狀態(tài),因此在未來的會(huì)話期間,只要二者在彼此的范圍內(nèi)且均未移除綁定,便可自動(dòng)重新連接。

設(shè)置藍(lán)牙

藍(lán)牙權(quán)限

如要在應(yīng)用中使用藍(lán)牙功能,必須聲明兩個(gè)權(quán)限。第一個(gè)是 BLUETOOTH。需要此權(quán)限才能執(zhí)行任何藍(lán)牙通信,例如請(qǐng)求連接、接受連接和傳輸數(shù)據(jù)等。

第二個(gè)必須聲明的權(quán)限是 ACCESS_FINE_LOCATION。應(yīng)用需要此權(quán)限,因?yàn)樗{(lán)牙掃描可用于收集用戶的位置信息。此類信息可能來自用戶自己的設(shè)備,以及在商店和交通設(shè)施等位置使用的藍(lán)牙信標(biāo)。

注意:如果應(yīng)用適配 Android 9(API 級(jí)別 28)或更低版本,則可以聲明 ACCESS_COARSE_LOCATION 權(quán)限而非 ACCESS_FINE_LOCATION 權(quán)限。

如果想讓應(yīng)用啟動(dòng)設(shè)備發(fā)現(xiàn)或操縱藍(lán)牙設(shè)置,則除了 BLUETOOTH 權(quán)限以外,還必須聲明 BLUETOOTH_ADMIN 權(quán)限。大多數(shù)應(yīng)用只是需利用此權(quán)限發(fā)現(xiàn)本地藍(lán)牙設(shè)備。除非應(yīng)用是根據(jù)用戶請(qǐng)求修改藍(lán)牙設(shè)置的“超級(jí)管理員”,否則不應(yīng)使用此權(quán)限所授予的其他功能。

在應(yīng)用清單文件中聲明藍(lán)牙權(quán)限。例如:

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

  <!-- If your app targets Android 9 or lower, you can declare
       ACCESS_COARSE_LOCATION instead. -->
  <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
  ...
</manifest>

設(shè)置藍(lán)牙

需驗(yàn)證設(shè)備支持藍(lán)牙,確保在此情況下啟用該功能,這樣你的應(yīng)用才能通過藍(lán)牙進(jìn)行通信。
如果設(shè)備不支持藍(lán)牙,則應(yīng)正常停用任何藍(lán)牙功能。如果設(shè)備支持藍(lán)牙但已停用此功能,則可以請(qǐng)求用戶在不離開應(yīng)用的同時(shí)啟用藍(lán)牙。借助 BluetoothAdapter,可以分兩步完成此設(shè)置:

  1. 獲取 BluetoothAdapter
    所有藍(lán)牙 Activity 都需要 BluetoothAdapter。如要獲取 BluetoothAdapter,請(qǐng)調(diào)用靜態(tài)的 getDefaultAdapter() 方法。此方法會(huì)返回一個(gè) BluetoothAdapter 對(duì)象,表示設(shè)備自身的藍(lán)牙適配器(藍(lán)牙無線裝置)。整個(gè)系統(tǒng)只有一個(gè)藍(lán)牙適配器,并且應(yīng)用可使用此對(duì)象與之進(jìn)行交互。如果 getDefaultAdapter() 返回 null,則表示設(shè)備不支持藍(lán)牙。例如:
BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
if (bluetoothAdapter == null) {
    // Device doesn't support Bluetooth
}
  1. 啟用藍(lán)牙
    下一步,需要確保已啟用藍(lán)牙。調(diào)用 isEnabled(),以檢查當(dāng)前是否已啟用藍(lán)牙。如果此方法返回 false,則表示藍(lán)牙處于停用狀態(tài)。如要請(qǐng)求啟用藍(lán)牙,請(qǐng)調(diào)用 startActivityForResult(),從而傳入一個(gè) ACTION_REQUEST_ENABLE Intent 操作。此調(diào)用會(huì)發(fā)出通過系統(tǒng)設(shè)置啟用藍(lán)牙的請(qǐng)求(無需停止應(yīng)用)。例如:

private static final int REQUEST_ENABLE_BT = 10;

if (!bluetoothAdapter.isEnabled()) {
    Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
    startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);
}

@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == REQUEST_ENABLE_BT && resultCode == RESULT_OK) {
        Log.e(TAG, "onActivityResult: enable bluetooth!!!!!!");
    }
}

如圖所示,系統(tǒng)將顯示對(duì)話框,請(qǐng)求用戶允許啟用藍(lán)牙。如果用戶響應(yīng)“Yes”,系統(tǒng)會(huì)開始啟用藍(lán)牙,并在該進(jìn)程完成(或失?。┖髮⒔裹c(diǎn)返回應(yīng)用。
android搜索附近藍(lán)牙,Android,android,藍(lán)牙,Bluetooth,BLE
傳遞給 startActivityForResult()REQUEST_ENABLE_BT 常量為局部定義的整型數(shù)(必須大于 0)。系統(tǒng)會(huì)以 onActivityResult() 實(shí)現(xiàn)中的 requestCode 參數(shù)形式,傳回該常量。

如果成功啟用藍(lán)牙,Activity 會(huì)在 onActivityResult() 回調(diào)中收到 RESULT_OK 結(jié)果代碼。如果由于某個(gè)錯(cuò)誤(或用戶響應(yīng)“No”)未成功啟用藍(lán)牙,則結(jié)果代碼為 RESULT_CANCELED。

你的應(yīng)用還可選擇偵聽 ACTION_STATE_CHANGED 廣播 Intent,每當(dāng)藍(lán)牙狀態(tài)發(fā)生變化時(shí),系統(tǒng)都會(huì)廣播此 Intent。此廣播包含額外字段 EXTRA_STATE 和 EXTRA_PREVIOUS_STATE,二者分別包含新的和舊的藍(lán)牙狀態(tài)。這些額外字段可能為以下值:STATE_TURNING_ONSTATE_ON、STATE_TURNING_OFFSTATE_OFF。如果你的應(yīng)用需檢測(cè)對(duì)藍(lán)牙狀態(tài)所做的運(yùn)行時(shí)更改,請(qǐng)偵聽此廣播。

注意:?jiǎn)⒂每蓹z測(cè)性即可自動(dòng)啟用藍(lán)牙。如果你計(jì)劃在執(zhí)行藍(lán)牙 Activity 之前一直啟用設(shè)備的可檢測(cè)性。

查找設(shè)備

利用 BluetoothAdapter,你可以通過設(shè)備發(fā)現(xiàn)或查詢配對(duì)設(shè)備的列表來查找遠(yuǎn)程藍(lán)牙設(shè)備。

設(shè)備發(fā)現(xiàn)是一個(gè)掃描過程,它會(huì)搜索局部區(qū)域內(nèi)已啟用藍(lán)牙功能的設(shè)備,并請(qǐng)求與每臺(tái)設(shè)備相關(guān)的某些信息。此過程有時(shí)也被稱為發(fā)現(xiàn)、查詢掃描。但是,只有在當(dāng)下接受信息請(qǐng)求時(shí),附近區(qū)域的藍(lán)牙設(shè)備才會(huì)通過啟用可檢測(cè)性響應(yīng)發(fā)現(xiàn)請(qǐng)求。如果設(shè)備已啟用可檢測(cè)性,它會(huì)通過共享一些信息(例如設(shè)備的名稱、類及其唯一的 MAC 地址)來響應(yīng)發(fā)現(xiàn)請(qǐng)求。借助此類信息,執(zhí)行發(fā)現(xiàn)過程的設(shè)備可選擇發(fā)起對(duì)已檢測(cè)到設(shè)備的連接。

在首次與遠(yuǎn)程設(shè)備建立連接后,系統(tǒng)會(huì)自動(dòng)向用戶顯示配對(duì)請(qǐng)求。當(dāng)設(shè)備完成配對(duì)后,系統(tǒng)會(huì)保存關(guān)于該設(shè)備的基本信息(例如設(shè)備的名稱、類和 MAC 地址),并且可使用 Bluetooth API 讀取這些信息。借助遠(yuǎn)程設(shè)備的已知 MAC 地址,你可以隨時(shí)向其發(fā)起連接,而無需執(zhí)行發(fā)現(xiàn)操作(假定該設(shè)備仍處于有效范圍內(nèi))。

請(qǐng)注意,被配對(duì)與被連接之間存在區(qū)別:

  • 被配對(duì)是指兩臺(tái)設(shè)備知曉彼此的存在,具有可用于身份驗(yàn)證的共享鏈路密鑰,并且能夠與彼此建立加密連接。
  • 被連接是指設(shè)備當(dāng)前共享一個(gè) RFCOMM 通道,并且能夠向彼此傳輸數(shù)據(jù)。當(dāng)前的 Android Bluetooth API 要求規(guī)定,只有先對(duì)設(shè)備進(jìn)行配對(duì),然后才能建立 RFCOMM 連接。在使用 Bluetooth API 發(fā)起加密連接時(shí),系統(tǒng)會(huì)自動(dòng)執(zhí)行配對(duì)。

以下部分介紹如何查找已配對(duì)的設(shè)備,或使用設(shè)備發(fā)現(xiàn)功能來發(fā)現(xiàn)新設(shè)備。

注意:Android 設(shè)備默認(rèn)處于不可檢測(cè)到狀態(tài)。用戶可通過系統(tǒng)設(shè)置將設(shè)備設(shè)為在有限的時(shí)間內(nèi)處于可檢測(cè)到狀態(tài),或者,應(yīng)用可請(qǐng)求用戶在不離開應(yīng)用的同時(shí)啟用可檢測(cè)性。

查詢已配對(duì)設(shè)備

在執(zhí)行設(shè)備發(fā)現(xiàn)之前,必須查詢已配對(duì)的設(shè)備集,以了解所需的設(shè)備是否處于已檢測(cè)到狀態(tài)。為此,請(qǐng)調(diào)用 getBondedDevices()。此方法會(huì)返回一組表示已配對(duì)設(shè)備的 BluetoothDevice 對(duì)象。例如,可以查詢所有已配對(duì)設(shè)備,并獲取每臺(tái)設(shè)備的名稱和 MAC 地址,如以下代碼段所示:

Set<BluetoothDevice> pairedDevices = bluetoothAdapter.getBondedDevices();

if (pairedDevices.size() > 0) {
    // There are paired devices. Get the name and address of each paired device.
    for (BluetoothDevice device : pairedDevices) {
        String deviceName = device.getName();
        String deviceHardwareAddress = device.getAddress(); // MAC address
    }
}

注意:執(zhí)行設(shè)備發(fā)現(xiàn)將消耗藍(lán)牙適配器的大量資源。在找到要連接的設(shè)備后,請(qǐng)務(wù)必使用 cancelDiscovery() 停止發(fā)現(xiàn),然后再嘗試連接。此外,不應(yīng)在連接到設(shè)備的情況下執(zhí)行設(shè)備發(fā)現(xiàn),因?yàn)榘l(fā)現(xiàn)過程會(huì)大幅減少可供任何現(xiàn)有連接使用的帶寬。

發(fā)現(xiàn)設(shè)備

如要開始發(fā)現(xiàn)設(shè)備,只需調(diào)用 startDiscovery()。該進(jìn)程為異步操作,并且會(huì)返回一個(gè)布爾值,指示發(fā)現(xiàn)進(jìn)程是否已成功啟動(dòng)。發(fā)現(xiàn)進(jìn)程通常包含約 12 秒鐘的查詢掃描,隨后會(huì)對(duì)發(fā)現(xiàn)的每臺(tái)設(shè)備進(jìn)行頁面掃描,以檢索其藍(lán)牙名稱。

應(yīng)用必須針對(duì) ACTION_FOUND Intent 注冊(cè)一個(gè) BroadcastReceiver,以便接收每臺(tái)發(fā)現(xiàn)的設(shè)備的相關(guān)信息。系統(tǒng)會(huì)為每臺(tái)設(shè)備廣播此 Intent。Intent 包含額外字段 EXTRA_DEVICEEXTRA_CLASS,二者又分別包含 BluetoothDeviceBluetoothClass。以下代碼段展示如何在發(fā)現(xiàn)設(shè)備時(shí)通過注冊(cè)來處理廣播:

@Override
protected void onCreate(Bundle savedInstanceState) {
    ...

    // Register for broadcasts when a device is discovered.
    IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND);
    registerReceiver(receiver, filter);

	Button btnSearch = findViewById(R.id.btn_search);
    btnSearch.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //開始搜索
        	bluetoothAdapter.startDiscovery();
        }
    });
}

// Create a BroadcastReceiver for ACTION_FOUND.
private final BroadcastReceiver receiver = new BroadcastReceiver() {
    public void onReceive(Context context, Intent intent) {
        String action = intent.getAction();
        if (BluetoothDevice.ACTION_FOUND.equals(action)) {
            // Discovery has found a device. Get the BluetoothDevice
            // object and its info from the Intent.
            BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
            String deviceName = device.getName();
            String deviceHardwareAddress = device.getAddress(); // MAC address
        }
    }
};

@Override
protected void onDestroy() {
    super.onDestroy();
    ...

    // Don't forget to unregister the ACTION_FOUND receiver.
    unregisterReceiver(receiver);
}

android搜索附近藍(lán)牙,Android,android,藍(lán)牙,Bluetooth,BLE

啟用可檢測(cè)性

如果希望將本地設(shè)備設(shè)為可被其他設(shè)備檢測(cè)到,請(qǐng)使用 ACTION_REQUEST_DISCOVERABLE Intent 調(diào)用 startActivityForResult(Intent, int)。這樣便可發(fā)出啟用系統(tǒng)可檢測(cè)到模式的請(qǐng)求,從而無需導(dǎo)航至設(shè)置應(yīng)用,避免暫停使用你的應(yīng)用。默認(rèn)情況下,設(shè)備處于可檢測(cè)到模式的時(shí)間為 120 秒(2 分鐘)。通過添加 EXTRA_DISCOVERABLE_DURATION Extra 屬性,你可以定義不同的持續(xù)時(shí)間,最高可達(dá) 3600 秒(1 小時(shí))。

以下代碼段將設(shè)備處于可檢測(cè)到模式的時(shí)間設(shè)置為 5 分鐘(300 秒):

Intent discoverableIntent =
        new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
discoverableIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 300);
startActivity(discoverableIntent);

如圖所示,系統(tǒng)將顯示對(duì)話框,請(qǐng)求用戶允許將設(shè)備設(shè)為可檢測(cè)到模式。如果用戶響應(yīng)“Yes”,則設(shè)備會(huì)變?yōu)榭蓹z測(cè)到模式,并在指定時(shí)間內(nèi)保持該模式。然后,你的 Activity 將會(huì)收到對(duì) onActivityResult() 回調(diào)的調(diào)用,其結(jié)果代碼等于設(shè)備可檢測(cè)到的持續(xù)時(shí)間。如果用戶響應(yīng)“No”或出現(xiàn)錯(cuò)誤,則結(jié)果代碼為 RESULT_CANCELED

注意:如果尚未在設(shè)備上啟用藍(lán)牙,則啟用設(shè)備可檢測(cè)性會(huì)自動(dòng)啟用藍(lán)牙。

設(shè)備將在分配的時(shí)間內(nèi)以靜默方式保持可檢測(cè)到模式。如果希望在可檢測(cè)到模式發(fā)生變化時(shí)收到通知,則可以為 ACTION_SCAN_MODE_CHANGED Intent 注冊(cè) BroadcastReceiver。此 Intent 將包含額外字段 EXTRA_SCAN_MODEEXTRA_PREVIOUS_SCAN_MODE,二者分別提供新的和舊的掃描模式。每個(gè) Extra 屬性可能擁有以下值:文章來源地址http://www.zghlxwxcb.cn/news/detail-794431.html

  • SCAN_MODE_CONNECTABLE_DISCOVERABLE:設(shè)備處于可檢測(cè)到模式。
  • SCAN_MODE_CONNECTABLE:設(shè)備未處于可檢測(cè)到模式,但仍能收到連接。
  • SCAN_MODE_NONE:設(shè)備未處于可檢測(cè)到模式,且無法收到連接。

到了這里,關(guān)于Android Bluetooth(一)——藍(lán)牙的開啟和搜索的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 深入了解Android藍(lán)牙Bluetooth【基礎(chǔ)+進(jìn)階】

    也可以說是藍(lán)牙技術(shù)。所謂藍(lán)牙(Bluetooth)技術(shù),實(shí)際上是一種短距離無線電技術(shù),是由愛立信公司公司發(fā)明的。利用“藍(lán)牙”技術(shù),能夠有效地簡(jiǎn)化掌上電腦、筆記本電腦和移動(dòng)電話手機(jī)等移動(dòng)通信終端設(shè)備之間的通信,也能夠成功地簡(jiǎn)化以上這些設(shè)備與因特網(wǎng)Internet之間的通

    2024年02月05日
    瀏覽(31)
  • 【Android開發(fā)基礎(chǔ)】藍(lán)牙信息的獲取(Bluetooth)

    【Android開發(fā)基礎(chǔ)】藍(lán)牙信息的獲?。˙luetooth)

    描述:藍(lán)牙技術(shù)是一種無線數(shù)據(jù)和語音通信開放的全球規(guī)范,它是基于低成本的近距離無線連接,為固定和移動(dòng)設(shè)備建立通信環(huán)境的一種特殊的近距離無線技術(shù)連接。藍(lán)牙使當(dāng)前的一些便攜移動(dòng)設(shè)備和計(jì)算機(jī)設(shè)備能夠不需要電纜就能連接到互聯(lián)網(wǎng),并且可以無線接入互聯(lián)網(wǎng)。

    2024年02月09日
    瀏覽(24)
  • Android藍(lán)牙BLE開發(fā)

    Android藍(lán)牙BLE開發(fā)

    最近正在研究Android的藍(lán)牙BLE開發(fā)學(xué)習(xí),以下是自己做的個(gè)人總結(jié) 首先得說明什么是低功耗藍(lán)牙BLE,BLE的全稱為Bluetooth low energy(或稱Blooth LE,BLE),從英文全稱便可以知曉其是一種低功耗的藍(lán)牙技術(shù),是藍(lán)牙技術(shù)聯(lián)盟設(shè)計(jì)和銷售的一種個(gè)人局域網(wǎng)技術(shù),旨在用于醫(yī)療保健、運(yùn)

    2023年04月09日
    瀏覽(38)
  • Android -BLE 藍(lán)牙模塊開發(fā)

    Android-Ble藍(lán)牙開發(fā)Demo示例–掃描,連接,發(fā)送和接收數(shù)據(jù),分包解包(附源碼) - 簡(jiǎn)書 前言 萬物互聯(lián)的物聯(lián)網(wǎng)時(shí)代的已經(jīng)來臨,ble藍(lán)牙開發(fā)在其中扮演著舉重若輕的角色。最近剛好閑一點(diǎn),抽時(shí)間梳理下這塊的知識(shí)點(diǎn)。 涉及ble藍(lán)牙通訊的客戶端(開啟、掃描、連接、發(fā)送... https://

    2024年02月09日
    瀏覽(26)
  • Android Studio 簡(jiǎn)要實(shí)現(xiàn)藍(lán)牙(Bluetooth)通信(附加作業(yè))

    Android Studio 簡(jiǎn)要實(shí)現(xiàn)藍(lán)牙(Bluetooth)通信(附加作業(yè))

    1.兩臺(tái)設(shè)備可以通過藍(lán)牙進(jìn)行通信 2.模擬Client 和Server端實(shí)現(xiàn)簡(jiǎn)單的通信。 如果想讓應(yīng)用啟動(dòng)設(shè)備發(fā)現(xiàn)或操縱藍(lán)牙設(shè)置,則除了 BLUETOOTH 權(quán)限以外,還必須聲明 BLUETOOTH_ADMIN 權(quán)限。大多數(shù)應(yīng)用只是需利用此權(quán)限發(fā)現(xiàn)本地藍(lán)牙設(shè)備。除非應(yīng)用是根據(jù)用戶請(qǐng)求修改藍(lán)牙設(shè)置的“超級(jí)

    2024年02月03日
    瀏覽(18)
  • Android Ble藍(lán)牙App(一)掃描

    Android Ble藍(lán)牙App(一)掃描

    ??關(guān)于低功耗的藍(lán)牙介紹我已經(jīng)做過很多了,只不過很多人不是奔著學(xué)習(xí)的目的去的,拿著源碼就去運(yùn)行,后面又發(fā)現(xiàn)連接設(shè)備后馬上斷開,然后不會(huì)自己看問題,這個(gè)現(xiàn)象就是快餐式的,你不了解里面的知識(shí)內(nèi)容,自然就不知道是怎么回事,重復(fù)的問題我回答了好多次了

    2024年02月08日
    瀏覽(28)
  • Android低功耗藍(lán)牙(BLE)開發(fā)(二)

    在上一篇文章Android低功耗藍(lán)牙(BLE)開發(fā)(一)中我們了解了BLE的相關(guān)概念,這里我們來實(shí)際用代碼演示安卓進(jìn)行BLE連接和通訊的功能。本文代碼基于Android5.0以上(API 21) 1.聲明權(quán)限 在AndroidManifest.xml文件中添加BLE相關(guān)的權(quán)限聲明。 2.判斷設(shè)備是否支持BLE以及藍(lán)牙是否打開 3.進(jìn)

    2024年02月09日
    瀏覽(26)
  • android 實(shí)現(xiàn)ble藍(lán)牙自動(dòng)配對(duì)連接

    android 實(shí)現(xiàn)ble藍(lán)牙自動(dòng)配對(duì)連接

    藍(lán)牙自動(dòng)配對(duì),即搜索到其它藍(lán)牙設(shè)備之后直接進(jìn)行配對(duì),不需要彈出配對(duì)確認(rèn)框或者密鑰輸入框。 本文章用來連接藍(lán)牙設(shè)備ai-thinker,如果你要連接其他藍(lán)牙設(shè)備,注意修改相關(guān)名字以及修改設(shè)備初試pin值。 將Demo安裝在Android手機(jī)上,點(diǎn)擊按鈕,可以實(shí)現(xiàn)與目標(biāo)藍(lán)牙設(shè)備的

    2023年04月24日
    瀏覽(22)
  • 【Bluetooth藍(lán)牙開發(fā)】七、BLE協(xié)議之L2CAP

    個(gè)人主頁:董哥聊技術(shù) 我是董哥,嵌入式領(lǐng)域新星創(chuàng)作者 創(chuàng)作理念:專注分享高質(zhì)量嵌入式文章,讓大家讀有所得! ? 【所有文章匯總】 ?

    2023年04月09日
    瀏覽(94)
  • Android藍(lán)牙使能流程圖(Android Bluetooth enable) -- java & jni層

    Android藍(lán)牙使能流程圖(Android Bluetooth enable) -- java & jni層

    在介紹Android enable流程之前,我們首先來看下Android的流程圖 以上圖示是android8以上的,主要跟Android8之前的架構(gòu)在于Bluetooth stack跟vendor層之間增加一層HIDL,主要是抽象硬件層的作用 OK,回歸主題,我們來看下Android的enable流程,首先上一張架構(gòu)圖 另外聲明下:我們做了一些列

    2024年02月09日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包