错误如下
- 02-10 13:26:11.048: ERROR/AndroidRuntime(17173): Caused by: android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
Context的startActivity方法,需要开启一个新的task。
如果使用 Activity的startActivity方法,不会有任何限制,因为Activity继承自Context,已重载了startActivity方法。
解决办法:
按照错误提示,添加一个FLAG_ACTIVITY_NEW_TASK flag
- public void onReceive(Context context, Intent intent) {
- ……
- Intent startiPhone = new Intent(context, Iphone.class);
- startiPhone.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- context.startActivity(startiPhone);
- ……
- }