android Standard Broadcast Actions 的对比和锁屏前后的测试
本文列举了android 标准action,并针对broadcast action 做了几个对比和测试。
一、action的分类
android 有一些标准的 action,包括:
1、Standard Activity Actions
ACTION_MAIN
ACTION_VIEW
ACTION_ATTACH_DATA
ACTION_EDIT
ACTION_PICK
ACTION_CHOOSER
ACTION_GET_CONTENT
ACTION_DIAL
ACTION_CALL
ACTION_SEND
ACTION_SENDTO
ACTION_ANSWER
ACTION_INSERT
ACTION_DELETE
ACTION_RUN
ACTION_SYNC
ACTION_PICK_ACTIVITY
ACTION_SEARCH
ACTION_WEB_SEARCH
ACTION_FACTORY_TEST
2、Standard Broadcast Actions
ACTION_TIME_TICK
ACTION_TIME_CHANGED
ACTION_TIMEZONE_CHANGED
ACTION_BOOT_COMPLETED
ACTION_PACKAGE_ADDED
ACTION_PACKAGE_CHANGED
ACTION_PACKAGE_REMOVED
ACTION_PACKAGE_RESTARTED
ACTION_PACKAGE_DATA_CLEARED
ACTION_UID_REMOVED
ACTION_BATTERY_CHANGED
ACTION_POWER_CONNECTED
ACTION_POWER_DISCONNECTED
ACTION_SHUTDOWN
二、对比android.intent.action.SIG_STR 与android.intent.action.TIME_TICK
1、简介
A、android.intent.action.SIG_STR
电话的信号强度已经改变的action
B、android.intent.action.TIME_TICK
以分钟为单位,每分钟触发一次广播
2、设置
A、在MainActivity的 onCreate()方法中,设置 TIME_TICK
IntentFilter timeTickFilter = new IntentFilter();
timeTickFilter.addAction("android.intent.action.TIME_TICK");
registerReceiver(new BootBroadcastReceiver(), timeTickFilter);
<receiver android:name="com.xxx.xxx.BootBroadcastReceiver" >
<intent-filter>
<action android:name="android.intent.action.SIG_STR" />
</intent-filter>
</receiver>
3、BootBroadcastReceiver
public class BootBroadcastReceiver extends BroadcastReceiver {private int counts = 0;@Overridepublic void onReceive(Context context, Intent intent) {String action = intent.getAction();System.out.println("**** === --- " + action);if (counts < 5) {System.out.println("**** === --- " + counts);counts++;}}}
4、对比
在关闭屏幕的时候,SIG_STR 广播几乎没有,只有在很久一段时间偶尔会出现一次;
在关闭屏幕的时候,TIME_TICK 广播一直都有,每一分钟广播一次。
在屏幕打开的时候,SIG_STR 广播很频繁;
在屏幕打开的时候,TIME_TICK 广播一直都有,每一分钟广播一次。
在接收 SIG_STR 广播的时候,counts 始终是 0;
在接收 TIME_TICK的时候,counts 在增加到5前,打印语句;增加到5后就不在出现打印语句。
总结:
SIG_STR 受到屏幕关闭的影响,在开屏的情况下一分钟数次触发广播,关闭屏幕情况下几乎没有广播,每次接收器都会重新构建一个新的实例,所以每次counts的值都是零。
TIME_TICK不受到屏幕关闭的影响,任何情况下,每分钟触发一次。接收器一次生成后始终使用,接收器的成员变量可以变化计数。
今天先对比到这里,之后再增加其他的action在不同的网络环境、锁屏环境下的对比。
更多相关文章
- Android 横竖屏幕
- Android 屏幕常亮
- Smail反汇编文件语句说明
- Android屏幕横屏竖屏设置技巧
- APIDEMO ACTIVITY 屏幕在出现软键盘情况下自适应大小
- Android Screen Monitor抓取真机屏幕
- android锁屏唤醒并解锁屏幕
- Android屏幕自适应详解
- android View的快照与屏幕的截屏