【安卓面试题】在一个Activity启动另一个Activity和在Service中启动一个Activity有什么区别

在Activity中可以直接使用Intent启动另一个Activity

显式Intent intent = new Intent(context, activity.class)

隐式 Intent intent = new Intent(“com.aa.www.act”);

startActivity(intent);

 

如果从Service中用同样方法启动Activity 的话,会报错:

android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAGACTIVITYNEWTASK flag. Is this really what you want?

 

需要设置 intent.setFlags(Intent.FLAGACTIVITYNEWTASK); 再开启activity 代码如下 :

Intent intent = new Intent("hahaha.hahaha");

intent.setFlags(Intent.FLAGACTIVITYNEW_TASK);

startActivity(intent);

 

posted @ 2016-07-13 16:44  亲爱的村姑  阅读(2187)  评论(0编辑  收藏  举报