导航:首页 > 操作系统 > android搜索不到蓝牙设备

android搜索不到蓝牙设备

发布时间:2023-08-09 18:49:15

‘壹’ 苹果耳机和安卓手机蓝牙连接不上是怎么回事

1、以下以手机和蓝牙耳机再次连接步骤如下:

(1)使蓝牙耳机在开机状态,需要长按蓝牙耳机的开关键5秒左右。

(2)直到指示灯:蓝灯红灯交替闪烁再松开。

(3)这个时候蓝牙耳机和手机会再次的进入匹对状态。

(4)等手机上面显示蓝牙耳机后,点击确定即可连接。

(5)注意手机和蓝牙耳机的有效距离在10米内。

2、排除本身就不能配对成功的情况,如果曾经配对成功过,然后点选了忽略设置,那么摁住蓝牙设备上的蓝族友牙按钮,摁住不放5-6秒钟,就能重新被设备搜索到了。

(1)android搜索不到蓝牙设备扩展阅读:

蓝牙(Bluetooth®):是一种无线技术标准,可实现固定设备、移动设备和楼宇个人域网之间的短距离数据交换(使用2.4—2.485GHz的ISM波段的UHF无线电波)。蓝牙技术最初由电信巨头爱立信公司于1994年创制,当时是作为RS232数据线的替代方案。蓝牙可连接多个设备,克服了数据同步的难题。

通讯连接

蓝牙主设备最多可与一个微微网(一个差备采用蓝牙技术的临时计算机兆庆槐网络)中的七个设备通讯, 当然并不是所有设备都能够达到这一最大量。

设备之间可通过协议转换角色,从设备也可转换为主设备(比如,一个头戴式耳机如果向手机发起连接请求,它作为连接的发起者,自然就是主设备,但是随后也许会作为从设备运行。)

蓝牙核心规格提供两个或以上的微微网连接以形成分布式网络,让特定的设备在这些微微网中自动同时地分别扮演主和从的角色。

数据传输可随时在主设备和其他设备之间进行(应用极少的广播模式除外)。

主设备可选择要访问的从设备;典型的情况是,它可以在设备之间以轮替的方式快速转换。因为是主设备来选择要访问的从设备,理论上从设备就要在接收槽内待命,主设备的负担要比从设备少一些。主设备可以与七个从设备相连接,但是从设备却很难与一个以上的主设备相连。

规格对于散射网中的行为要求是模糊的。

许多USB蓝牙适配器或“软件狗”是可用的,其中一些还包括一个IrDA适配器。

‘贰’ Android 6.0 扫描不到 Ble 设备需开启位置权限

最近总是有用户反馈说APP扫描不到设备,让我很费解了一段时间,尤其是华为和OPPO,公司还专门买了这款手机,然后测试没问题,直到一个偶然,我把手机定位给关了,才发现这个问题,Android 6.0 扫描设备需开启位置权限,用户突然一天把定位给关了,我们在扫描之前又没检测,唉,一个逻辑不严谨就会出现各种问题,现在记录一下

权限获取

<uses-permission android:name="android.permission.BLUETOOTH"/> 使用蓝牙所需要的权限

<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/> 使用扫描和设置蓝牙的权限(申明这一个权限必须申明上面一个权限)

在Android5.0之前,是默认申请GPS硬件功能的。而在Android 5.0 之后,需要在manifest 中申明GPS硬件模块功能的使用。

<!-- Needed only if your app targets Android 5.0 (API level 21) or higher. -->

    <uses-feature android:name="android.hardware.location.gps" />

在 Android 6.0 及以上,还需要打开位置权限。如果应用没有位置权限,蓝牙扫描功能不能使用(其它蓝牙操作例如连接蓝牙设备和写入数据不受影响)

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

除了上面的设置之外,如果想设置设备只支持 BLE,可以加上下面这句话

<uses-feature android:name="android.hardware.bluetooth_le" android:required="true"/>

同样,如果不想添加 BLE 的支持,那么可以设置 required="false"

然后可以在运行时判断设备是否支持 BLE,

// Use this check to determine whether BLE is supported on the device. Then

    // you can selectively disable BLE-related features.

    if (!getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH_LE)) {

        Toast.makeText(this, R.string.ble_not_supported, Toast.LENGTH_SHORT).show();

        finish();

    }

打开定位 (Location)

首先检查定位是否打开,可以像下面这样操作:

/**

* Location service if enable

*

* @param context

* @return location is enable if return true, otherwise disable.

*/

public static final boolean isLocationEnable(Context context) {

    LocationManager locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);

    boolean networkProvider = locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER);

    boolean gpsProvider = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);

    if (networkProvider || gpsProvider) return true;

    return false;

}

如果定位已经打开,可以搜索到 ble 设备;如果定位没有打开,则需要用户去打开,像下面这样:

private static final int REQUEST_CODE_LOCATION_SETTINGS = 2;

private void setLocationService() {

    Intent locationIntent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);

    this.startActivityForResult(locationIntent, REQUEST_CODE_LOCATION_SETTINGS);

}

进入定位设置界面,让用户自己选择是否打开定位。选择的结果获取:

@Override

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

    if (requestCode == REQUEST_CODE_LOCATION_SETTINGS) {

        if (isLocationEnable(this)) {

            //定位已打开的处理

        } else {

            //定位依然没有打开的处理

        }

    } else super.onActivityResult(requestCode, resultCode, data);

}

阅读全文

与android搜索不到蓝牙设备相关的资料

热点内容
androidseekbar进度条 浏览:356
梯度上升算法知乎 浏览:650
qt项目源码下载 浏览:395
不允许代理服务器什么意思 浏览:511
盲反卷积算法 浏览:306
峰火战国什么时候能开服务器 浏览:452
加密的pdf怎么提取和修改 浏览:488
压缩空气气体流量计 浏览:845
高角杯如何编程 浏览:1011
哪个app可以下载迷失岛 浏览:29
100以内程序员键盘 浏览:914
调试助手源码是什么 浏览:601
程序员网优 浏览:461
有没有极限压缩方法 浏览:79
岳阳hypermill五轴编程 浏览:385
超级舒服的解压神器 浏览:450
超短macd源码 浏览:167
群晖怎么设置用户访问指定文件夹 浏览:557
安卓怎么测触摸屏 浏览:596
javastring原理 浏览:318