android 7.1.2源码定制自动开关机功能

环境:

android7.1.2

msm8953

 

需求描述:

系统默认开启定时开关机功能,在每周二和每周五的凌晨1:58关机,2:00开机。

经过阅读源码发现,定时开关机是通过操作timerswitch.db数据库来完成的。

对应源码位置:

1、./vendor/qcom/proprietary/qrdplus/Extension/apps/TimerSwitchSettings/src/com/android/timerswitch/provider/TimerSwitchDatabaseHelper.java

分析:

DEFAULT_SWITCH_1 = "(7, 0, 127, 1, 0);"; 表示开机的时间设置
DEFAULT_SWITCH_2 = "(23, 0, 127, 1, 0);";表示关机的时间设置

括号中的参数解读:

第一个数据7和23分别表示24小时制的早上7点和晚上23点

第二个数据0表示分钟

第三个参数127对应十六进制0x7f 表示周一至周日,计算方式可以参考源码。

第四个参数1表示默认打开定时开关机,如果是0表示默认关闭。

第五个参数目前还没有搞明白是什么意义

关于第三个参数如果不知道怎么计算的话可以按照以下步骤获取:

思路是:首先在手机上选择定时开关机的日期,然后查询数据库中的数值,将得到的数值再固定到源码中。

步骤如下:

1、打开手机的设置,找到定时开关机选项

2、选中开关机的按钮为打开状态

3、选择周二和周五,开机时间选择凌晨2点,关机时间选择凌晨1点58分

4、adb shell 

5、进入

cd data/data/com.android.timerswitch/databases/

6、ls 可以看到有以下两个文件

7、使用sqlite3命令查询数据库中的数据

sqlite3 timerswitch.db

8、.table查看数据库中的表

9、查询switch_templates表中的数据

select * from switch_templates;

查到的结果如下:(其中18就表示周二和周五计算出来的数值)

 

 

Android 7.1.2(也被称为Nougat)是Android操作系统的一个版本,它的源代码是公开可用的。源码包含了构建和运行Android操作系统所需的所有代码文件和资源。 Android操作系统是一个基于Linux内核的开源平台,用于移动设备和嵌入式系统。它提供了一个统一的操作系统环境,使开发者能够轻松地构建和定制自己的Android设备。 Android 7.1.2源码提供了一套开发工具和框架,使开发者能够创建功能丰富、稳定和安全的应用程序。该版本中引入了一些新的功能和改进,例如通知栏的增强、多任务处理的改进、Doze模式的优化等,以提供更好的用户体验。 通过查看源代码,开发者可以深入了解Android操作系统的内部工作原理,并理解其中的各个组件和模块是如何相互协作的。例如,开发者可以研究Android的用户界面框架、应用程序生命周期管理、通信和存储制等。 修复和优化Android 7.1.2源码也是可能的,因为它是开源的。开发者可以根据自己的需求和想法对操作系统进行修改,并参与到Android社区中,与其他开发者分享和贡献代码。 总之,Android 7.1.2源码为开发者提供了一个定制和构建Android应用的平台。通过深入了解源码,开发者能够创建出更加出色和创新的应用程序,同时也有会参与到Android开源社区中,为整个生态系统的发展做出贡献。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

無昂博奥

测试下大赏功能,请勿大赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值