當前位置:首頁 » 安卓系統 » android藍牙名稱

android藍牙名稱

發布時間: 2022-12-30 09:11:03

⑴ android修改已配對的藍牙名稱

已配對的藍牙設備名稱是不能修改的,android的系統設置API中並沒有這個設置,如果要改只有root手機後去修改。

⑵ Android藍牙

安卓藍牙驅動是一款通過藍牙連接其他設備的驅動軟體 有以下功能: 1、藍牙區域網(PAN)、藍牙高質量音頻(A2DP,HFP); 2、藍牙圖像傳輸功能(BIP)、串 行埠功能 (SPP); 3、藍牙列印服務(HCRP)、 藍牙文件傳輸服務(FTP); 4、藍牙信息交換服務(OPP)、 藍牙撥號上網服務(DUN);

⑶ 什麼是android 藍牙

andriod是智能手機的操作系統,藍牙就是我們手機上用的無線數據傳輸工具,它的意思就是安卓系統手機的藍牙

⑷ 如何以編程方式清除Android的藍牙名稱緩存

Android藍牙編程的基本步驟:1.獲取藍牙適配器BluetoothAdapterblueadapter=BluetoothAdapter.getDefaultAdapter();如果BluetoothAdapter為null,說明android手機沒有藍牙模塊。判斷藍牙模塊是否開啟,blueadapter.isEnabled()true表示已經開啟,false表示藍牙並沒啟用。2.啟動配置藍牙可見模式,即進入可配對模式Intentin=newIntent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);in.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION,200);startActivity(in);,200就表示200秒。3.獲取藍牙適配器中已經配對的設備Setdevice=blueadapter.getBondedDevices();4.還需要在androidManifest.xml中聲明藍牙的許可權接下來就是根據自己的需求對BluetoothAdapter的操作了。

⑸ android開發 搜索周圍藍牙設備並把搜索到的藍牙設備名存入數組 完整代碼應該怎麼寫

package com.example.test;

import java.util.ArrayList;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity {

private ArrayList<String> btList = new ArrayList<String>(); // 用於保存獲取到的藍牙名稱
private MyAdapter mAdapter; // 適配器

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initData();
initListView();

// 若藍牙列表數據更新後,可以用以下方法通知ListView更新顯示
mAdapter.notifyDataSetChanged();

}

/**
* 初始化數據
*/
private void initData() {
// 假如在這里添加藍牙設備到ArrayList

// 假如列表中有數據,先清空
btList.clear();

for (int i = 0; i < 10; i++) {
btList.add("藍牙" + i);
}

}

/**
* 初始化ListView
*/
private void initListView() {
ListView listView = (ListView) findViewById(R.id.listView1);
// 為ListView設置適配器
mAdapter = new MyAdapter();
listView.setAdapter(mAdapter);

listView.setOnItemClickListener(new OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// 在這里對點擊事件進行
// position是當前點擊的行;根據它可以獲得容器中對應的值
String btName = btList.get(position);
Toast.makeText(MainActivity.this, "當前點擊的是:" + btName,
Toast.LENGTH_SHORT).show();
}
});
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

class MyAdapter extends BaseAdapter {

@Override
public View getView(int position, View convertView, ViewGroup parent) {
View inflate = getLayoutInflater().inflate(R.layout.item, null);
TextView textView = (TextView) inflate.findViewById(R.id.textView1);// 查找item中的textView
String btName = btList.get(position);
textView.setText(btName);
return inflate;
}

@Override
public int getCount() {
// 決定ListView的行數,這里設成容器內容數
return btList.size();
}

@Override
public Object getItem(int position) {
return null;
}

@Override
public long getItemId(int position) {
return 0;
}

}

}

⑹ android修改MTP及MTP(PC顯示名稱)、PTP盤符名、藍牙名稱

PTP修改:

路徑:frameworks\av\media\mtp\MtpServer.cpp

MTP在PC端顯示的名稱:

路徑:frameworks\base\media\java\android\mtp\MtpDatabase.java

修改藍牙名稱:

路徑:device\generic\common\bluetooth\bdroid_buildcfg.h

路徑:device\mediatek\common\custom.conf

路徑:vendor\mediatek\proprietary\frameworks\base\custom\custom.conf

⑺ androidble藍牙名稱和經典藍牙名稱能不一樣嗎

1.在手機界面從下往上滑,出現控制中心,打開藍牙,然後再點擊一下藍牙下面的AirDrop,選擇所有人
2.接著選擇想要傳輸的數據,點擊分享界面的Airplay之後手機就會自動搜索安卓設備了,搜索到想要分享的設備名稱後點擊名稱即可。

⑻ 寫入軟體時,藍牙名稱如何自動編號

不同機型、不同系統可能會有不同的改法:
1. 原生Android系統
原生Android系統下更改藍牙名稱相對比較簡單,只要點擊「設置」→「藍牙」進入藍牙界面,有一個三個點的菜單,點擊即可看到「重命名手機」選項,點擊後即可更改。
2. 廠商定製系統
Android是一個開放的系統,不少廠商有對UI進行了定製和修改,因而不同廠商、機型的更改方法也有所不同,以HTC Sense 5.0和MIUI V5為例,HTC Sense 5.0下更改藍牙名稱的辦法與原生Android系統類似,點擊「設置」→「藍牙」進入藍牙界面,點擊菜單即可重命名手機:
MIUI V5中則進行了較大修改,界面中無三個點的菜單按鈕,但是我們可以通過修改「手機名稱」更改藍牙顯示名稱。

⑼ android藍牙BLE(三) —— 廣播

​ 在藍牙開發中,有些情況是不需要連接的,只要外設廣播自己的數據即可,例如蘋果的 ibeacon 。自 Android 5.0 更新藍牙API後,手機可以作為外設廣播數據。

廣播包有兩種:

其中 廣播包是每個外設都必須廣播的,而響應包是可選的 。每個廣播包的長度必須是 31個位元組 ,如果不到 31個位元組 ,則剩下的全用 0 填充 補全,這部分的數據是無效的

廣播包中包含若干個廣播數據單元,廣播數據單元也稱為 AD Structure 。

廣播數據單元 = 長度值Length + AD type + AD Data。

長度值 Length 只佔 一個位元組 ,並且位於廣播數據單元的 第一個位元組

概念的東西有些抽象,先看看下面的廣播報文:

​ 0x代表這串字元串是十六進制的字元串。 兩位十六進制數代表一個位元組 。因為兩個字元組成的十六進制字元串最大為 FF ,即255,而Java中byte類型的取值范圍是-128到127,剛好可以表示一個255的大小。所以兩個十六進制的字元串表示一個位元組。

​ 繼續查看報文內容,開始讀取第一個廣播數據單元。讀取 第一個 位元組: 0x07 ,轉換為十進制就是7,即表示後面的7個位元組是這個廣播數據單元的數據內容。超過這7個位元組的數據內容後,表示是一個新的廣播數據單元。

​ 而第二個廣播數據單元,第一個位元組的值是 0x16 ,轉換為十進制就是22,表示後面22個位元組為第二個廣播數據單元。

​ 在廣播數據單元的 數據部分 中, 第一個位元組 代表 數據類型 (AD type),決定數據部分表示的是什麼數據。(即廣播數據單元第二個位元組為AD type)

AD Type 的類型如下:

​ 這bit 1~7分別代表著發送該廣播的藍牙晶元的物理連接狀態。當bit的值為1時,表示支持該功能。
例:

藍牙廣播的數據格式大致講了一下,有助於下面的廣播操作的理解。

先看看廣播設置( AdvertiseSettings )如何定義:

(1)、通過 AdvertiseSettings.Builder#setAdvertiseMode() 設置廣播模式。其中有3種模式:

(2)、通過 AdvertiseSettings.Builder#setAdvertiseMode() 設置廣播發射功率。共有4種功率模式:

(3)、通過 AdvertiseSettings.Builder#setTimeout() 設置持續廣播的時間,單位為毫秒。最多180000毫秒。當值為0則無時間限制,持續廣播,除非調用 BluetoothLeAdvertiser#stopAdvertising() 停止廣播。

(4)、通過 AdvertiseSettings.Builder#setConnectable() 設置該廣播是否可以連接的。

之前說過,外設必須廣播廣播包,掃描包是可選。但添加掃描包也意味著廣播更多得數據,即可廣播62個位元組。

可見無論是廣播包還是掃描包,其廣播的內容都是用 AdvertiseData 類封裝的。

(1)、 AdvertiseData.Builder#setIncludeDeviceName() 方法,可以設置廣播包中是否包含藍牙的名稱。

(2)、 AdvertiseData.Builder#setIncludeTxPowerLevel() 方法,可以設置廣播包中是否包含藍牙的發射功率。

(3)、 AdvertiseData.Builder#addService UUID (Parcel UUID ) 方法,可以設置特定的 UUID 在廣播包中。

(4)、 AdvertiseData.Builder#addServiceData(Parcel UUID ,byte[]) 方法,可以設置特定的 UUID 和其數據在廣播包中。

(5)、 AdvertiseData.Builder#addManufacturerData(int,byte[]) 方法,可以設置特定廠商Id和其數據在廣播包中。

​ 從 AdvertiseData.Builder 的設置中可以看出,如果一個外設需要在不連接的情況下對外廣播數據,其數據可以存儲在 UUID 對應的數據中,也可以存儲在廠商數據中。但由於廠商ID是需要由Bluetooth SIG進行分配的,廠商間一般都將數據設置在廠商數據。

另外可以通過 BluetoothAdapter#setName() 設置廣播的名稱

先看一個例子,我們分別在 廣播包 掃描包 中設置 AdvertiseData.Builder 的 每一種廣播報文參數 ,得到一下報文內容:

(1)、Type = 0x01 表示設備LE物理連接。

(2)、Type = 0x09 表示設備的全名

(3)、Type = 0x03 表示完整的16bit UUID 。其值為0xFFF7。

(4)、Type = 0xFF 表示廠商數據。前兩個位元組表示廠商ID,即廠商ID為0x11。後面的為廠商數據,具體由用戶自行定義。

(5)、Type = 0x16 表示16 bit UUID 的數據,所以前兩個位元組為 UUID ,即 UUID 為0xF117,後續為 UUID 對應的數據,具體由用戶自行定義。

最後繼承 AdvertiseCallback 自定義廣播回調。

初始化完畢上面的對象後,就可以進行廣播:

​ 廣播主要是通過 BluetoothLeAdvertiser#startAdvertising() 方法實現,但在之前需要先獲取 BluetoothLeAdvertiser 對象。

BluetoothLeAdvertiser 對象存在兩個情況獲取為Null:

所以在調用 BluetoothAdapter#getBluetoothLeAdvertiser() 前,需要先調用判斷藍牙已開啟,並判斷在 BluetoothAdapter 中獲取的 BluetoothLeAdvertiser 是否為空(測試過某些華為手機 mBluetoothAdapter.() 為 false , 但是能發送ble廣播)。

​ 與廣播成對出現就是 BluetoothLeAdvertiser.stopAdvertising() 停止廣播了,傳入開啟廣播時傳遞的廣播回調對象,即可關閉廣播:

​ 雖然通過廣播告知外邊自身擁有這些Service,但手機自身並沒有初始化Gattd的Service。導致外部的中心設備連接手機後,並不能找到對應的 GATT Service 和 獲取對應的數據。

Service類型有兩個級別:

創建 BluetoothGattService 時,傳入兩個參數: UUID 和Service類型:

​ 我們都知道Gatt中, Service 的下一級是 Characteristic , Characteristic 是最小的通信單元,通過對 Characteristic 進行讀寫操作來進行通信。

​ 特徵屬性表示該 BluetoothGattCharacteristic 擁有什麼功能,即能對 BluetoothGattCharacteristic 進行什麼操作。其中主要有3種:

許可權屬性用於配置該特徵值所具有的功能。主要兩種:

Characteristic 下還有 Descriptor ,初始化 BluetoothGattDescriptor 時傳入: Descriptor UUID 和 許可權屬性

為 Service 添加 Characteristic ,為 Characteristic 添加 Descriptor :

​ 通過藍牙管理器 mBluetoothManager 獲取 Gatt Server ,用來添加 Gatt Service 。添加完 Gatt Service 後,外部中心設備連接手機時,將能獲取到對應的 GATT Service 和 獲取對應的數據

​ 定義 Gatt Server 回調。當中心設備連接該手機外設、修改特徵值、讀取特徵值等情況時,會得到相應情況的回調。

最後開啟廣播後,用nRF連接後看到的特徵值信息如下圖所示:(加多了一個只能都的特徵值)

android藍牙BLE(一) —— 掃描

android藍牙BLE(二) —— 通信

android藍牙BLE(三) —— 廣播

android藍牙BLE(四) —— 實戰

⑽ android能不能更改藍牙名稱

我這塊開發板默認顯示的是Android Bluedroid,
最後終於讓我搜到了,但是結果卻讓我郁悶,現在說下具體辦法吧
Android4.4正規的修改藍牙名稱方法為:
文件external/bluetooth/bluedroid/include/bt_target.h中
BTM_DEF_LOCAL_NAME的宏定義即為藍牙默認顯示名稱
我的開發板呢是放在了device/nexell/drone2/bluetooth/bdroid_buildcfg.h文件中
重新定義了BTM_DEF_LOCAL_NAME宏定義,將該值修改即可
正規方法修改無用的朋友不妨在自定義設備目錄中查找一番....

熱點內容
scratch少兒編程課程 發布:2025-04-16 17:11:44 瀏覽:628
榮耀x10從哪裡設置密碼 發布:2025-04-16 17:11:43 瀏覽:357
java從入門到精通視頻 發布:2025-04-16 17:11:43 瀏覽:75
php微信介面教程 發布:2025-04-16 17:07:30 瀏覽:300
android實現陰影 發布:2025-04-16 16:50:08 瀏覽:788
粉筆直播課緩存 發布:2025-04-16 16:31:21 瀏覽:338
機頂盒都有什麼配置 發布:2025-04-16 16:24:37 瀏覽:204
編寫手游反編譯都需要學習什麼 發布:2025-04-16 16:19:36 瀏覽:801
proteus編譯文件位置 發布:2025-04-16 16:18:44 瀏覽:357
土壓縮的本質 發布:2025-04-16 16:13:21 瀏覽:583