应用保活手段之一:灭屏拉起Activity

遇到的例子:XX新闻

大致流程: 收到灭屏广播,起动HollowActivity, 周期设置alarm触发启动 HollowActivity(避免类似应用).
(亮屏finish HollowActivity, 避免被发现).

关键Log:
05-21 16:33:37.017929 18641 18641 I KeepAlive: onReceiveScreenBroadcast [android.intent.action.SCREEN_OFF]
05-21 16:33:37.220872 18641 18641 I KeepAlive: onShowOffScreenActivity
05-21 16:33:37.237014 13652 14439 I ActivityManager: START u0 {flg=0x10000000 cmp=com.tencent.news/.push.alive.offactivity.HollowActivity} from uid 10178
05-21 16:33:39.023445 18641 18641 I KeepAlive: onCheckState
05-21 16:33:39.026202 18641 18641 I KeepAlive: Check Push Process Importance [300], isFocus [false].
05-21 16:33:39.026496 18641 18641 I KeepAlive: onShowOffScreenActivity
05-21 16:33:39.033350 13652 14608 I ActivityManager: START u0 {flg=0x10000000 cmp=com.tencent.news/.push.alive.offactivity.HollowActivity} from uid 10178

但灭屏启动Activity,Android会pause该Activity
灭屏启动时触发Pause的log:
05-21 16:18:37.952 8746 10752 V ActivityManager: Sleep needs to pause ActivityRecord{494f8a7 u0 com.tencent.news/.push.alive.offactivity.HollowActivity t178}

灭屏启动的栈:
29560:05-21 16:33:39.056839 13652 14608 D ActivityManager: at com.android.server.am.ActivityStack.goToSleepIfPossible(ActivityStack.java:1429)
29561:05-21 16:33:39.056839 13652 14608 D ActivityManager: at com.android.server.am.ActivityStack.checkReadyForSleep(ActivityStack.java:1402)
29562:05-21 16:33:39.056839 13652 14608 D ActivityManager: at com.android.server.am.ActivityStack.checkReadyForSleepDelayed(ActivityStack.java:1410)
29563:05-21 16:33:39.056839 13652 14608 D ActivityManager: at com.android.server.am.ActivityStack.resumeTopActivityUncheckedLocked(ActivityStack.java:2501)
29564:05-21 16:33:39.056839 13652 14608 D ActivityManager: at com.android.server.am.ActivityStackSupervisor.resumeFocusedStackTopActivityLocked(ActivityStackSupervisor.java:2377)
29565:05-21 16:33:39.056839 13652 14608 D ActivityManager: at com.android.server.am.ActivityStarter.resumeTargetStackIfNeeded(ActivityStarter.java:2485)
29566:05-21 16:33:39.056839 13652 14608 D ActivityManager: at com.android.server.am.ActivityStarter.startActivityUnchecked(ActivityStarter.java:1703)
29567:05-21 16:33:39.056839 13652 14608 D ActivityManager: at com.android.server.am.ActivityStarter.startActivity(ActivityStarter.java:1459)
29568:05-21 16:33:39.056839 13652 14608 D ActivityManager: at com.android.server.am.ActivityStarter.startActivity(ActivityStarter.java:1060)
29569:05-21 16:33:39.056839 13652 14608 D ActivityManager: at com.android.server.am.ActivityStarter.startActivity(ActivityStarter.java:695)
29570:05-21 16:33:39.056839 13652 14608 D ActivityManager: at com.android.server.am.ActivityStarter.startActivityMayWait(ActivityStarter.java:1358)
29571:05-21 16:33:39.056839 13652 14608 D ActivityManager: at com.android.server.am.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值