Android 2.3.3     Eclipse Version: 3.7.0     LogCat 

BootBroadcastReceiver继承自android.content.BroadcastReceiver,处理广播事件,部分代码如下:

public void onReceive(Context context, Intent intent) {……Intent startIPhone = new Intent(context, Iphone.class);context.startActivity(startIPhone);……}

LogCat 报错信息:

02-10 13:26:11.017: DEBUG/AndroidRuntime(17173): Shutting down VM02-10 13:26:11.017: WARN/dalvikvm(17173): threadid=1: thread exiting with uncaught exception (group=0x40015560)02-10 13:26:11.048: ERROR/AndroidRuntime(17173): FATAL EXCEPTION: main02-10 13:26:11.048: ERROR/AndroidRuntime(17173): java.lang.RuntimeException: Unable to start receiver com.tmall.htc.BootBroadcastReceiver: android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?02-10 13:26:11.048: ERROR/AndroidRuntime(17173): at android.app.ActivityThread.handleReceiver(ActivityThread.java:1805)02-10 13:26:11.048: ERROR/AndroidRuntime(17173): at android.app.ActivityThread.access$2400(ActivityThread.java:117)02-10 13:26:11.048: ERROR/AndroidRuntime(17173): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:981)02-10 13:26:11.048: ERROR/AndroidRuntime(17173): at android.os.Handler.dispatchMessage(Handler.java:99)02-10 13:26:11.048: ERROR/AndroidRuntime(17173): at android.os.Looper.loop(Looper.java:123)02-10 13:26:11.048: ERROR/AndroidRuntime(17173): at android.app.ActivityThread.main(ActivityThread.java:3683)02-10 13:26:11.048: ERROR/AndroidRuntime(17173): at java.lang.reflect.Method.invokeNative(Native Method)02-10 13:26:11.048: ERROR/AndroidRuntime(17173): at java.lang.reflect.Method.invoke(Method.java:507)02-10 13:26:11.048: ERROR/AndroidRuntime(17173): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)02-10 13:26:11.048: ERROR/AndroidRuntime(17173): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)02-10 13:26:11.048: ERROR/AndroidRuntime(17173): at dalvik.system.NativeStart.main(Native Method)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?02-10 13:26:11.048: ERROR/AndroidRuntime(17173): at android.app.ContextImpl.startActivity(ContextImpl.java:621)02-10 13:26:11.048: ERROR/AndroidRuntime(17173): at android.content.ContextWrapper.startActivity(ContextWrapper.java:258)02-10 13:26:11.048: ERROR/AndroidRuntime(17173): at android.content.ContextWrapper.startActivity(ContextWrapper.java:258)02-10 13:26:11.048: ERROR/AndroidRuntime(17173): at com.tmall.htc.BootBroadcastReceiver.onReceive(BootBroadcastReceiver.java:64)02-10 13:26:11.048: ERROR/AndroidRuntime(17173): at android.app.ActivityThread.handleReceiver(ActivityThread.java:1794)02-10 13:26:11.048: ERROR/AndroidRuntime(17173): ... 10 more02-10 13:26:11.078: WARN/ActivityManager(68): Force finishing activity com.tmall.htc/.Iphone

发生错误原因分析:

主要原因是

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?

Content的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);……}

更多相关文章

  1. android转页面
  2. Android(安卓)aspectJ Aop
  3. Android通过反射实现强制停止应用程序的方法
  4. MediaPlayer+Stagefright架构(音频)图解
  5. 【android】解决Viewpager设置高度为wrap_content无效的方法
  6. Android(安卓)JNI入门第三篇——jni头文件分析
  7. Android(安卓)CollapsingToolbarLayout:将ActionBar载入Toolbar(2)
  8. Android(安卓)viewpager 拿到当前显示的 fragment 的实例
  9. android listview 的使用方法

随机推荐

  1. 身在职场,这6条大实话潜规则你知道吗?
  2. jQuery五彩火焰背景的3D进度条插件
  3. 报错ERROR: Failed to Setup IP tables:
  4. nginx配置ssl证书访问不了https网站
  5. 学历造假Offer被撤,职场诚信是底线
  6. HTML5中国象棋游戏,可自定义难度
  7. 超实用的VueJS滑块组件,支持级联滑动和渐
  8. 面试被问“期望薪资多少”?高情商的人都这
  9. PMP备考复盘,可供学习时间有限的同学参考
  10. 超级炫酷!HTML5 Canvas火焰画笔动画