当前位置:首页 » 安卓系统 » 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 浏览:629
荣耀x10从哪里设置密码 发布:2025-04-16 17:11:43 浏览:357
java从入门到精通视频 发布:2025-04-16 17:11:43 浏览:76
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