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"/>
相关推荐
zhaoyufei13315 分钟前
RK3399 11.0关闭调试串口改为普通RS232通信串口
android·驱动开发
消失的旧时光-194324 分钟前
Kotlin 协程最佳实践:用 CoroutineScope + SupervisorJob 替代 Timer,实现优雅周期任务调度
android·开发语言·kotlin
UWA2 小时前
为什么Android游戏画面在30帧运行时有抖动现象
android·游戏
锐湃2 小时前
Android车载多媒体开发MediaSession框架理解
android
yueqc12 小时前
Android 通信机制简析
android·binder·handle
qq_717410016 小时前
FAQ05047:在进入camera或者在camera中切换场景时,出现“很抱歉,相机已停止运行”
android
KevinWang_7 小时前
Activity Result API 的缺点
android
奔跑中的蜗牛6668 小时前
直播APP架构升级和性能优化:WebView 容器化
android
学习编程之路8 小时前
仓颉多态性应用深度解析
android·多态·仓颉
俩个逗号。。8 小时前
ViewPager+Fragment 切换主题崩溃
android·android studio·android jetpack