Android5.1通过状态栏快捷方式打开蓝牙后立刻启用可见(可搜索)模式

原创 2016年08月29日 14:25:04

DESCRIPTION]
 
只有在蓝牙菜单显示的情况下,测试机才可以被其他蓝牙设备搜索到。这是Android L的默认设计。通过快捷方式打开蓝牙后,测试机即可被已经配对过的设备连接,如可穿戴设备的同步、接收文件,被车载蓝牙连接等。
 
只有进入蓝牙菜单才可以被搜索到的设计还有省电的功能,在蓝牙打开后一直处于可搜索的状态会导致电量的浪费。现在可穿戴设备越来越多,拥有这种可穿戴设备的人很可能一直都会保持蓝牙打开状态,这样会缩短手机续航时间。
 
如果执意需要在开启蓝牙后(无论任何方式)立刻开启蓝牙可见模式,可参考下面解法:
 
[SOLUTION]
 
 在BluetoothControllerImpl.java中:


@Override
 
public void onReceive(Context context, Intent intent) {
 
    final String action = intent.getAction();
 
    final BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
 
 
 
    Log.d(TAG, "onReceive action=" + action);
 
 
 
    if (action.equals(BluetoothAdapter.ACTION_STATE_CHANGED)) {
 
        setAdapterState(intent.getIntExtra(BluetoothAdapter.EXTRA_STATE, ERROR));
 
        updateBondedDevices();
 
        Log.d(TAG, "ACTION_STATE_CHANGED " + mEnabled);
 
        //make bt discoverable immediately after bluetooth enabled. BEGIN
 
        if (mEnabled){
 
            Log.d(TAG, "make bt discoverable immediately after bluetooth enabled");
 
            mAdapter.setScanMode(BluetoothAdapter.SCAN_MODE_CONNECTABLE_DISCOVERABLE);
 
        }
 
        //END
 
    } else if (action.equals(BluetoothAdapter.ACTION_CONNECTION_STATE_CHANGED)) {


版权声明:本文为博主原创文章,未经博主允许不得转载。Android北京开发技术群 482266514密码CSDN

android bluetooth——蓝牙的开启、搜索、配对与连接

android 的blt仅仅支持api 18 android4.3以上,有的功能甚至需要api 19 android4.4; 所以我们在做blt项目之前一定要清楚可用的版本范围。我要讲述的是打开bl...
  • yehui928186846
  • yehui928186846
  • 2016年09月30日 12:18
  • 29899

android系统app打开蓝牙+设置可见性

BluetoothAdapter blue = BluetoothAdapter.getDefaultAdapter();     这两个方法足矣满足你的需求(需要system权限):     blu...
  • u010164190
  • u010164190
  • 2017年01月14日 08:59
  • 1735

关于android蓝牙可见性设置

framework提供了一种打开可见性的操作,就是通过向用户弹出一个提示框,来询问是否允许开启可见性。而且限制了最长时间为300秒,代码如下: //启动修改蓝牙可见性的Intent ...
  • u014732060
  • u014732060
  • 2015年12月22日 14:45
  • 2875

如何从后台开启android蓝牙的可见性以及始终保持可见性

最近工作中遇到一个特殊的需求,要求代码能够从后台开机android手机蓝牙的可见性。而framework提供了一种打开可见性的操作,就是通过向用户弹出一个提示框,来询问是否允许开启可见性。而且限制了最...
  • godwanglong
  • godwanglong
  • 2013年12月01日 13:09
  • 3353

android5.1 蓝牙上电流程

从UI 开始追踪代码,研究如何传递到driver层。 bluetoothenabler.java     @Override     public void onSwitchChanged(Sw...
  • feitian_666
  • feitian_666
  • 2016年06月13日 10:04
  • 1171

关于android蓝牙开发中 蓝牙可见性设置

framework提供了一种打开可见性的操作,就是通过向用户弹出一个提示框,来询问是否允许开启可见性。而且限制了最长时间为300秒,代码如下: //启动修改蓝牙可见性的Intent ...
  • u014732060
  • u014732060
  • 2015年12月22日 14:53
  • 472

BlueTooth: CC2540 BLE PeripheralBroadcaster Example(蓝牙4.0从机和广播者多角色实例)

实验环境:蓝牙版本:TI CC2540协议栈:1.2.1参考手册:协议栈参考文档 TI_BLE_Software_Developer's_Guide.pdf实验目的:实现CC240从机在连接以后,还可...
  • Augusdi
  • Augusdi
  • 2014年05月15日 12:46
  • 5494

安卓蓝牙搜索发出的广播是刚开始就结束

最近搞蓝牙连接这块,一开始就遇到这个问题,使用广播接收者接收广播的时候,用自己的小米4安卓6.01始终是刚开始搜索就结束了,用室友的4.1.1就可以,找了好久才发现这个原因,解决办法是; 添加一个权...
  • zw1996
  • zw1996
  • 2017年05月12日 14:09
  • 357

android Bluetooth 开发2之打开、关闭、搜索、允许搜索、查看

1.承接上一篇文章,本篇文章主要实现了蓝牙的打开 关闭 允许搜索 查看配对设备 2. BluetoothInit,主要实现了部件的初始化,按钮的点击事件,通过ListVIew显示本地配对的蓝牙设备...
  • jinmie0193
  • jinmie0193
  • 2017年11月01日 16:57
  • 256

RK-3288_Android5.1_BluetoothSettings

RK-3288_Android5.1_BluetoothSettings [预添加]
  • MLQ8087
  • MLQ8087
  • 2016年11月25日 11:03
  • 439
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android5.1通过状态栏快捷方式打开蓝牙后立刻启用可见(可搜索)模式
举报原因:
原因补充:

(最多只允许输入30个字)