Android Activity组件正常以及锁屏状态下的启动流程

前言:

Activity是android的四大组件之一,它主要负责管理android应用程序的用户界面。

本文主要从framework的角度去分析activity的启动过程。activity的启动过程根据不同的情况会有一些差别,比如锁屏与非锁屏状态下的区别,activity依附的应用程序进程不存在与已经存在的区别等。

目录:

一、KK4.4从Launcher启动Activity的流程

二、应用内启动子Activity的流程

三、锁屏状态下Activity启动的流程

文章中含有大量的时序图,请直接下载PDF文档:

Activity_boot_process_analysis

时间: 2024-10-12 23:42:54

Android Activity组件正常以及锁屏状态下的启动流程的相关文章

android 滑动锁屏状态下如何禁止下拉状态栏

滑动锁屏状态下状态栏可以下拉是google 4.0 默认的设计.如果要禁止此功能,请修改KeyguardViewMediator.java的adjustStatusBarLocked()方法,将  if (isSecure() || !ENABLE_INSECURE_STATUS_BAR_EXPAND) { // showing secure lockscreen; disable expanding. flags |= StatusBarManager.DISABLE_EXPAND; } 修改

怎样在安卓中实现在锁屏状态下弹出对话框,并可以震动和铃声,就像闹钟似的?

============问题描述============ 我想要在应用弹出对话框,程序在后台运行,当达到条件后弹出对话框并有震动和铃声,但是在锁屏状态下却没反应,有什么办法解决吗? ============解决方案1============ // 解锁 KeyguardManager manager = (KeyguardManager) getSystemService(KEYGUARD_SERVICE); if( manager.inKeyguardRestrictedInputMode()

锁屏状态下点亮屏幕,并弹出闹钟提示信息

锁屏状态下点亮屏幕,并弹出闹钟提示信息,可以在锁屏界面上取消闹钟:使用广播接收闹钟定时: 下面是例子里的核心代码如下 android 设置定时闹钟(包括提醒一次和循环提醒):Intent intent = new Intent(MainActivity.this,MyAlarmBroadCast.class);                  PendingIntent pendingIntent = PendingIntent.getBroadcast(getApplicationConte

Windows技巧|如何在Windows 10在锁屏状态下打开某种应用程序?

本文标签:    电脑技巧 Windows技巧 Win10的锁屏界面 互联网杂谈 在Win10的锁屏界面,右下角有三个图标,中间有个像时钟的图标就是所谓的"轻松使用"按钮,里面有讲述人.放大镜.屏幕键盘等功能,这些功能我们可以修改成我们常用的应用程序,这样将大大的方便我们的操作,那么该如何修改呢? 默认情况下在锁屏界面点击右下角中间的图标会弹出"轻松使用"菜单 具体方法如下: 1.在Cortana搜索栏输入regedit,按回车键进入注册表编辑器; 2.定位到:HK

Android锁屏状态下弹出activity,如新版qq的锁屏消息提示

在接收消息广播的onReceive里,跳转到你要显示的界面.如: Intent intent = new Intent(arg0,MainActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);         arg0.startActivity(intent); 在该activity的onCreate()方法里: super.onCreate(savedInstanceState); getWindow().addFla

Android锁屏状态下弹出activity

在接收消息广播的onReceive里,跳转到你要显示的界面.如: Intent intent = new Intent(arg0,MainActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); arg0.startActivity(intent); 在该activity的onCreate()方法里: super.onCreate(savedInstanceState); getWindow().addFlags(Windo

IOS8,IOS8.1等系统出现锁屏状态下WIFI断开问题的解决办法!

网络设备:TP-Link 300M无线路由器.DLINK 300M无线路由器.HP 300M无线路由器.APPLE AirPort无线路由器 终端:iphone5S+IOS8.1 故障现象:除apple自家的AirPort路由器外,其他路由器均导致iphone出现锁屏后30秒左右,WIFI图标消失现象. 解决办法:登录路由器,关闭WMM功能(通常在无线功能设置页面),重新启动路由器,故障解决. 故障可能原因:路由器的WMM功能版本与IOS8中的多媒体传输协议不兼容!

Android锁屏状态获取音量按键事件

Android系统没有提供音量按键的广播,而Activity的onKeyDown方法只有在界面显示时才能捕获音量变化, 要在锁屏状态或后台获得音量按键事件,可以通过判断音量值的改变来判断是否按下了音量键.实现的具体思路是: 开一个子线程,持续判断当前音量值和之前音量值是否一致,如果不同说明按下了音量键,并且重置音量值,使音量不在最大值或最小值上. package com.hy2014.phonesafer.activity; import android.app.Activity; import

使用恶意USB设备解锁 Windows & Mac 锁屏状态

NSA专业物理入侵设备——USB Armory,可解锁任意锁屏状态的下的Windows和Mac操作系统,含最新发布的Windows10.及较早的Mac OSX El Capitan / Mavericks,想知道原理是什么?进来看看吧! 首先,这原本是没有可能实现的,但事实是我真的办到了(相信我,因为不敢相信这是真的,我已经测试了很多次.) USB Ethernet + DHCP + Responder == 证书 论题: 如果我在电脑上插入一个伪装成USB以太网适配器的设备, 那么即使这个系统