【安卓面试题】在一个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);

原文地址:https://www.cnblogs.com/yidan621/p/5667448.html