Android 8.1 设备删除蓝牙功能

Android 8.1 设备删除蓝牙功能

最近接到项目反馈,要求删除设备的蓝牙功能,具体修改参照如下:

/project/ProjectConfig.mk:

复制代码
+MTK_BT_SUPPORT = no

/vendor/mediatek/proprietary/packages/apps/SettingsProvider/res/values/defaults.xml

复制代码
+    <bool name="def_bluetooth_on">false</bool>

/vendor/mediatek/proprietary/packages/apps/SystemUI/res/values/config.xml

复制代码
    <string name="quick_settings_tiles_default" translatable="false">
-        wifi,cell,battery,dnd,rotation,bt,airplane,location
+        wifi,cell,battery,dnd,rotation,airplane,location
    </string>

    <string name="quick_settings_tiles_stock" translatable="false">
-        wifi,cell,battery,dnd,flashlight,rotation,bt,airplane,location,inversion,saver,work,cast,night
+        wifi,cell,battery,dnd,flashlight,rotation,airplane,location,inversion,saver,work,cast,night
    </string>

/vendor/mediatek/proprietary/packages/apps/MtkSettings/res/values/strings.xml

复制代码
-    <string name="connected_devices_dashboard_summary">Bluetooth, Cast, NFC</string>
+    <string name="connected_devices_dashboard_summary">Cast, NFC</string>

-    <string name="connected_devices_dashboard_no_nfc_summary">Bluetooth, Cast</string>
+    <string name="connected_devices_dashboard_no_nfc_summary">Cast</string>

/vendor/mediatek/proprietary/packages/apps/MtkSettings/res/values-zh-rCN/strings.xml

复制代码
-    <string name="connected_devices_dashboard_summary" msgid="2390582103384791904">"蓝牙、投射、NFC"</string>
+    <string name="connected_devices_dashboard_summary" msgid="2390582103384791904">"投射、NFC"</string>

-    <string name="connected_devices_dashboard_no_nfc_summary" msgid="9106040742715366495">"蓝牙、投射"</string>
+    <string name="connected_devices_dashboard_no_nfc_summary" msgid="9106040742715366495">"投射"</string>

/vendor/mediatek/proprietary/packages/apps/MtkSettings/res/xml/connected_devices.xml

复制代码
-    <com.android.settings.widget.MasterSwitchPreference
-      android:key="toggle_bluetooth"
-      android:title="@string/bluetooth_settings_title"
-      android:icon="@drawable/ic_settings_bluetooth"
-      android:order="-7"/>

/vendor/mediatek/proprietary/packages/apps/MtkSettings/res/xml/device_info_status.xml

复制代码
-    <Preference
-        android:key="bt_address"
-        android:enabled="false"
-        android:shouldDisableView="false"
-        android:title="@string/status_bt_address"
-        android:summary="@string/summary_placeholder"
-        android:persistent="false" />

/vendor/mediatek/proprietary/packages/apps/MtkSettings/res/xml/location_scanning.xml

复制代码
-        <SwitchPreference
-            android:title="@string/location_scanning_bluetooth_always_scanning_title"
-            android:summary="@string/location_scanning_bluetooth_always_scanning_description"
-            android:defaultValue="true"
-            android:key="bluetooth_always_scanning" />

/vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/SettingsActivity.java

复制代码
        somethingChanged = setTileEnabled(new ComponentName(packageName,
                        Settings.BluetoothSettingsActivity.class.getName()),
-                pm.hasSystemFeature(PackageManager.FEATURE_BLUETOOTH), isAdmin)
+                false/*pm.hasSystemFeature(PackageManager.FEATURE_BLUETOOTH)*/, isAdmin)
                || somethingChanged;

/vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragment.java

复制代码
-        final BluetoothMasterSwitchPreferenceController bluetoothPreferenceController =
-                new BluetoothMasterSwitchPreferenceController(
-                        context, Utils.getLocalBtManager(context), this,
-                        (SettingsActivity) getActivity());
-        lifecycle.addObserver(bluetoothPreferenceController);
-        controllers.add(bluetoothPreferenceController);

                public List<String> getNonIndexableKeys(Context context) {
                    final List<String> keys = super.getNonIndexableKeys(context);
                    PackageManager pm = context.getPackageManager();
                    if (!pm.hasSystemFeature(PackageManager.FEATURE_NFC)) {
                        keys.add(NfcPreferenceController.KEY_TOGGLE_NFC);
                        keys.add(NfcPreferenceController.KEY_ANDROID_BEAM_SETTINGS);
                    }
-                    keys.add(BluetoothMasterSwitchPreferenceController.KEY_TOGGLE_BLUETOOTH);

                    SmsMirroringFeatureProvider smsMirroringFeatureProvider =
                            FeatureFactory.getFactory(context).getSmsMirroringFeatureProvider();
                    SmsMirroringPreferenceController smsMirroringController =
                            smsMirroringFeatureProvider.getController(context);
                    smsMirroringController.updateNonIndexableKeys(keys);

重新编译验证,修改生效,设备已删除蓝牙功能

相关推荐
工程师老罗4 小时前
如何在Android工程中配置NDK版本
android
Libraeking8 小时前
破壁行动:在旧项目中丝滑嵌入 Compose(混合开发实战)
android·经验分享·android jetpack
市场部需要一个软件开发岗位8 小时前
JAVA开发常见安全问题:Cookie 中明文存储用户名、密码
android·java·安全
JMchen12310 小时前
Android后台服务与网络保活:WorkManager的实战应用
android·java·网络·kotlin·php·android-studio
crmscs10 小时前
剪映永久解锁版/电脑版永久会员VIP/安卓SVIP手机永久版下载
android·智能手机·电脑
localbob11 小时前
杀戮尖塔 v6 MOD整合版(Slay the Spire)安卓+PC端免安装中文版分享 卡牌肉鸽神作!杀戮尖塔中文版,电脑和手机都能玩!杀戮尖塔.exe 杀戮尖塔.apk
android·杀戮尖塔apk·杀戮尖塔exe·游戏分享
机建狂魔11 小时前
手机秒变电影机:Blackmagic Camera + LUT滤镜包的专业级视频解决方案
android·拍照·摄影·lut滤镜·拍摄·摄像·录像
hudawei99611 小时前
flutter和Android动画的对比
android·flutter·动画
lxysbly13 小时前
md模拟器安卓版带金手指2026
android
儿歌八万首13 小时前
硬核春节:用 Compose 打造“赛博鞭炮”
android·kotlin·compose·春节