关机闹钟

这篇博客探讨了Android系统中的关机闹钟功能。通过分析`android_reboot`函数和`PackageManagerService`的扫描过程,揭示了系统如何处理在关机时触发的闹钟应用。文章还提到了`isPowerOffAlarmPackage`方法,用于检查应用程序是否属于关机闹钟包,并列出了部分默认的关机闹钟应用清单。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

:~/xxx$ grep -rsn "ro.bootmode" 

system/core/libcutils/android_reboot.c:239:int android_reboot(int cmd, int flags, const char *arg)

 W PackageManager: Failed to parse /system/app/xdivert: Not a powerOffAlarmApp: /system/app/xdivert

PackageManagerService.java

 private void scanDirLI(File dir, final int parseFlags, int scanFlags, long currentTime) {

            Runnable scanTask = new Runnable() {
                public void run() {
                    try {
                        scanPackageTracedLI(ref_file, ref_parseFlags | PackageParser.PARSE_MUST_BE_APK,
                                ref_scanFlags, ref_currentTime, null);
                    } catch (PackageManagerException e) {
                        Slog.w(TAG, "Failed to parse " + ref_file + ": " + e.getMessage());

                        // Delete invalid userdata apps

}

PackageParser.java
 /* * Check if the package belongs to power off alarm packages */

private boolean isPowerOffAlarmPackage(String packageName) {}

 

    <string-array name="power_off_alarm_apps">
        <item>android</item>
        <item>com.android.location.fused</item>
        <item>com.android.settings</item>
        <item>com.android.defcontainer</item>
        <item>com.android.poweronalert</item>
        <item>com.android.shell</item>
        <item>com.android.deskclock</item>
        <item>com.android.providers.media</item>
        <item>com.android.inputdevices</item>
        <item>com.android.providers.settings</item>
        <item>com.android.externalstorage</item>
        <item>com.android.providers.downloads.ui</item>
        <item>com.android.packageinstaller</item>
    </string-array>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值