如何测试 Android 中的定时事件

测试定时事件不太容易,比如要测试 AlarmManager 中定时明天4点的一个事件,你总不能等到明天4点再看看吧。
Roman Nurik 提供了两个用来测试定时事件的命令:adb shell dumpsys alarm 和 adb shell dumpsys activity intents 通过这两个命令可以查看那些操作被放到定时队列中了。

例如,要查看你的应用都定时执行那些任务,通过命令 ‘adb shell dumpsys alarm’,在结果中查找你的应用包名,结果看起来如下:

RTC #6: Alarm{434a1378 type 1 com.example}
type=1 whenElapsed=608198149 when=+52m27s736ms window=-1 repeatInterval=0 count=0
operation=PendingIntent{430cf620: PendingIntentRecord{*43bbf998* com.example startService}}

上面的结果显示一个事件将在大约 52 分钟后触发。要查看该 intent 的详细信息 (例如 启动的是那个 service?)则需要用到 ‘adb shell dumpsys activity intents’ 命令,查看结果中和 PendingIntentRecord 的 id 一样的结果(上面示例中的 id 为 43bbf998):

* PendingIntentRecord{43bbf998 com.example startService}
uid=10138 packageName=com.example type=startService flags=0×0
requestIntent=act=MY_ACTION cmp=com.example/.MyService (has extras)

本文出自 云在千峰,转载时请注明出处及相应链接。

本文永久链接: http://blog.chengyunfeng.com/?p=561


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值