关闭

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

498人阅读 评论(2) 收藏 举报
分类:

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)) {


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场