Context 和 Activity 之 startActivity() 方法的区别
1个回答
展开全部
Activity 继承自 ContextThemeWrapper 和 ContextWrapper,基类是 Context,重写了 ContextWrapper 的 startActivity()。
1,Activity 的 startActivity() 方法,通过 Instrumentation 类,执行 IActivityTaskManager 的startActivity() 方法。
2,Context 的 startActivity() 抽象方法。
在 ContextImpl 实现类。
查询 Intent 是否存在 flag: FLAG_ACTIVITY_NEW_TASK,否则报出异常。
当 Service 或者 BroadcastReceiver 调用 startActivity() 方法时,二者未重写此方法,调用
ContextWrapper 的 startActivity() 方法 。
即调用 ContextImpl 类启动方法 。
任重而道远
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询