解决Context的startActivity方法报错

错误如下

Java代码  
  1. 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

Java代码   收藏代码
  1. public void onReceive(Context context, Intent intent) {  
  2.     ……  
  3.     Intent startiPhone = new Intent(context, Iphone.class);  
  4.     startiPhone.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  
  5.     context.startActivity(startiPhone);  
  6.     ……  
  7. }  

猜你喜欢

转载自blog.csdn.net/lyc088456/article/details/79973414