android BSP开发之二

1.添加 system property

在/device/<vendor>/<project>/system.prop 文件中添加需要的属性。

如在XXX中添加"persist.sys.touch_mode"属性,在system.prop文件中新增一行如下内容:

cpp 复制代码
# Property for touch panel mode
persist.sys.touch_mode=glove

2**.添加Settings system, secure或者Global属性并监听**

下面以XXX为例添加Settings.system.BATTERY_SHIPPING_MODE.

添加BATTERY_SHIPPING_MODE Key

在frameworks/base/core/java/android/provider/Settings.java文件中添加"BATTERY_SHIPPING_MODE" key.

注册监听code

在frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java 文件的SettingsObserver中注册监听:

java 复制代码
class SettingsObserver extends ContentObserver {
        void observe() {
            // Observe all users' changes
            ......
            resolver.registerContentObserver(Settings.System.getUriFor(
                    Settings.System.BATTERY_SHIPPING_MODE),false,this,
                    UserHandle.USER_ALL);
        }

        @Override public void onChange(boolean selfChange) {
            ......
            updateBatteryShippingMode();
            ......
        }
    }

添加功能

java 复制代码
private void updateBatteryShippingMode(){
        int shippingMode = Settings.System.getInt(mContext.getContentResolver(), Settings.System.BATTERY_SHIPPING_MODE, 0);
        if(shippingMode == 1){
            ......
        }
    }

功能测试

测试功能的时候需要添加下面的权限

XML 复制代码
android:sharedUserId="android.uid.system"
    ......
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
 <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS"/>
相关推荐
落落落sss26 分钟前
项目集成sharding-jdbc
android·java·数据库·spring·mybatis
哈哈皮皮虾的皮1 小时前
安卓开发中,可以反射去换肤,那么我们应该也可以使用反射去串改我们的程序,作为开发者,我们如何保证我们自己的应用的安全呢?
android·网络·安全
是阿臻1 小时前
在 macOS 上安装 ADB给安卓手机装APK,同样适用智能电视、车机
android·macos·adb
不太会写2 小时前
dhtmlxGantt 甘特图 一行展示多条任务类型
android
中式代码美式咖啡2 小时前
在Spring Boot中实现多环境配置
android·spring boot·后端
吾爱星辰3 小时前
Kotlin 抛出和捕获异常(十一)
android·java·开发语言·jvm·kotlin
alexhilton3 小时前
搞定在Jetpack Compose中优雅地申请运行时权限
android·kotlin·android jetpack
GEEKVIP6 小时前
摆脱困境并在iPhone手机上取回删除照片的所有解决方案
android·macos·ios·智能手机·电脑·笔记本电脑·iphone
呆萌小新@渊洁10 小时前
后端接收数组,集合类数据
android·java·开发语言
ByteSaid11 小时前
Android 内核开发之—— repo 使用教程
android·git