android framework misc

android framework misc

Intent发送与接收

系统(framework)发送Intent,可以发送Intent的API如下:
sendBroadcast
sendOrderedBroadcast
sendBroadcastAsUser

apk注册Intent接收,在系统(framework)发送Intent时将收到filtered Intent,并处理:
private BroadcastReceiver mReceiver = new BroadcastReceiver(){
public void onReceive(final Context context, Intent intent) {

 

待机开机发送SCREEN_OFF、SCREEN_ON msg

frameworks/base/services/core/java/com/android/server/power/Notifier.java

复制代码
691    private void sendWakeUpBroadcast() {
692        if (DEBUG) {
693            Slog.d(TAG, "Sending wake up broadcast.");
694        }
695
696        if (mActivityManagerInternal.isSystemReady()) {
697            mContext.sendOrderedBroadcastAsUser(mScreenOnIntent, UserHandle.ALL, null,
698                    mWakeUpBroadcastDone, mHandler, 0, null, null);
699        } else {
700            EventLog.writeEvent(EventLogTags.POWER_SCREEN_BROADCAST_STOP, 2, 1);
701            sendNextBroadcast();
702        }
703    }
复制代码

 

复制代码
714    private void sendGoToSleepBroadcast() {
715        if (DEBUG) {
716            Slog.d(TAG, "Sending go to sleep broadcast.");
717        }
718
719        if (mActivityManagerInternal.isSystemReady()) {
720            mContext.sendOrderedBroadcastAsUser(mScreenOffIntent, UserHandle.ALL, null,
721                    mGoToSleepBroadcastDone, mHandler, 0, null, null);
722        } else {
723            EventLog.writeEvent(EventLogTags.POWER_SCREEN_BROADCAST_STOP, 3, 1);
724            sendNextBroadcast();
725        }
726    }
复制代码

android STR ON log

09-19 09:07:05.785 3262 3389 I PowerManagerService: Going to sleep due to power_button (uid 1000)...
09-19 09:07:05.785 3262 3389 I PowerManagerService: Sleeping (uid 1000)...
09-19 09:07:11.194 3262 3389 I PowerManagerService: Waking up from Asleep (uid=1000, reason=WAKE_REASON_POWER_BUTTON, details=android.policy:POWER)...
09-19 09:07:11.413 3262 3306 W PowerManagerService: Screen on took 299 ms

 

posted @   aspirs  阅读(127)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示