牛骨文教育服务平台(让学习变的简单)

MTK 版本蓝牙设置部分有很大修改,L版本去除了蓝牙可见性设置,只有当手机处于蓝牙设置界面(BluetoothSetting)时才会打开可见性,才能被其他手机搜索到,当退出蓝**

牙设置界面时,将关闭可见性。但是,当一直停留在蓝牙设置界面关闭蓝牙,再打开时,即使此时还在蓝牙设置界面,对外也是不可见。这是Google的bug。

如果希望当在蓝牙设置界面时,不管第几次打开蓝牙,蓝牙都能对外可见,修改方式如下:

在BluetoothSettings.java文件的onBluetoothStateChanged方法中,添加如下:

    @Override
    public void onBluetoothStateChanged(int bluetoothState) {
        super.onBluetoothStateChanged(bluetoothState);
         //Engineer-Jsp add by mtk start
        if( bluetoothState==BluetoothAdapter.STATE_ON)
        {
        mInitiateDiscoverable=true;
        }
        //Engineer-Jsp add by mtk end
        updateContent(bluetoothState);
    }

还有一个bug,MTK 版本中,蓝牙只有在蓝牙设置界面(Bluetooth Setting)可见性才会打开,离开此界面蓝牙将对外不可见。如果要修改为只要打开蓝牙,即使离开蓝牙

界面,蓝牙也一直可见,方法如下:

packagesappssettingssrccomandroidsettingsluetoothBluetoothSettings.java

    @Override
    public void onPause() {
        super.onPause();
        if (mBluetoothEnabler != null) {
            mBluetoothEnabler.pause();
        }

        // Engineer-Jsp add by mtk
//        mLocalAdapter.setScanMode(BluetoothAdapter.SCAN_MODE_CONNECTABLE);

        if (isUiRestricted()) {
            return;
        }

        getActivity().unregisterReceiver(mReceiver);
    }

注释此句:

//        mLocalAdapter.setScanMode(BluetoothAdapter.SCAN_MODE_CONNECTABLE);

添加后使用mmm 的方式编译,编译完后通过snod的方式打包进system.img,然后download到手机中烧录固件测试即可