展锐 Android9.0 第三方应用无法接收开机广播

展锐平台 省电管理 vendor/sprd/modules/power/fw-power-config/appPowerSaveConfig.xml

<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<app_powersave_config>
<package name="com.pp.assistant" optimize="1" alarm="0" wakelock="0" network="0" autolaunch="1" secondarylaunch="1" lockscreencleanup="1" consumertype="0" />
<package name="com.spreadtrum.itestapp" optimize="1" alarm="0" wakelock="0" network="0" autolaunch="2" secondarylaunch="2" lockscreencleanup="2" consumertype="0" />
<package name="com.comcat.activity" optimize="1" alarm="0" wakelock="0" network="0" autolaunch="2" secondarylaunch="2" lockscreencleanup="2" consumertype="0" />
<package name="com.sprd.sleepwakeuptest" optimize="1" alarm="0" wakelock="0" network="0" autolaunch="2" secondarylaunch="2" lockscreencleanup="2" consumertype="0" />
<package name="sprdtest.message" optimize="1" alarm="0" wakelock="0" network="0" autolaunch="2" secondarylaunch="2" lockscreencleanup="2" consumertype="0" />
<package name="com.greenpoint.android.mc10086.activity" optimize="1" alarm="0" wakelock="0" network="0" autolaunch="2" secondarylaunch="2" lockscreencleanup="2" consumertype="0" />
<package name="com.jio.emiddleware" optimize="1" alarm="0" wakelock="0" network="0" autolaunch="2" secondarylaunch="2" lockscreencleanup="2" consumertype="0" />
</app_powersave_config>

  • optimize:是否应用电池优化,其中 0 表示白名单(不优化),1 表示黑名单(优化)
  • alarm:是否待机唤醒优化,其中 0 表示自动,1 表示黑名单(优化), 2 表示白名单(不优化)
  • wakelock:是否待机休眠,其中 0 表示自动,1 表示黑名单(优化), 2 表示白名单(不优化)
  • network:是否数据联网限制,其中 0 表示自动,1 表示黑名单(优化), 2 表示白名单(不优化)
  • autolaunch:是否自启动管理,其中 1 表示黑名单(禁止),2 表示白名单(允许)
  • secondarylaunch:是否关联启动,其中 1 表示黑名单(禁止),2 表示白名单(允许)
  • lockscreencleanup:是否锁屏清理,其中 0 表示黑名单,1 表示白名单
  • consumertype:对应该应用的耗电情况,0对应耗电情况未知。其他值意义如下:0x01: 表示alarm频繁唤醒;0x02:表示长时间持锁; 0x04: 表示长时间使用gps

       实际值可能为上述各值的组合

实际在我们的代码中AppPowerSaveConfig.java中

    public AppPowerSaveConfig() {
        for (int i = 0; i < ConfigType.TYPE_MAX.value; i++) {
            setConfigWithType(this , i, mDefConfig[i]);
        }
    }

 mDefConfig数组为默认值

    private static int[] mDefConfig = {VALUE_OPTIMIZE, // for optimize
        VALUE_AUTO, // for alarm
        VALUE_AUTO, // for wakelock
        VALUE_AUTO, // for network
        VALUE_OPTIMIZE, // for autolaunch
        VALUE_OPTIMIZE, // for 2ndlaunch
        VALUE_AUTO, // for lockscrenn cleanup
        POWER_CONSUMER_TYPE_NONE}; // for powerConsumerType

    public static final int VALUE_INVALID = -1;
    public static final int VALUE_AUTO = 0;
    public static final int VALUE_OPTIMIZE = 1;
    public static final int VALUE_NO_OPTIMIZE = 2;

如果第三方应用没有单独配置,默认VALUE_OPTIMIZE

第三方应用调用开机广播自动启动时,查看log会发现,应用会被加入black list

 Line 20877: S004E19 06-19 06:41:22.633   621   796 D PowerController.BgClean: judgeAppLaunchAllowed : com.quectel.findnetwork(uid:1000), callingPackage = null(uid:1000), reason = send-broadcast
 Line 20879: S004E1B 06-19 06:41:22.633   621   796 D PowerController.BgClean: in apppowerconfig autolaunch black list: com.quectel.findnetwork
 Line 20880: S004E1C 06-19 06:41:22.633   621   796 D PowerController.BgClean: in autolaunch black list: com.quectel.findnetwork, callingPackage = null, reason = send-broadcast denyed!

因此需要把我们对应的应用加入到白名单中

在appPowerSaveConfig.xml中添加如下代码

<package name="com.quectel.findnetwork" optimize="1" alarm="0" wakelock="0" network="0" autolaunch="2" secondarylaunch="2" lockscreencleanup="2" consumertype="0" />

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值