解决Content的startActivity方法报错

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 VM
02-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: main
02-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 more
02-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);
		……
	}

 

Android 7.0+覆盖安装适配:FileProvider权限墙详解与实战 在Android应用开发中,应用间安全共享文件是一个基础且关键的技术需求。其核心原理在于Android系统通过沙盒机制隔离应用数据,以保障用户隐私和系统安全。传统的`file://` URI方式存在安全风险,因此Android 7.0引入了`FileProvider`组件,它作为`ContentProvider`的子类,通过生成包含临时访问权限的`content://` URI,实现了对文件共享的精细化、安全化控制。这一机制的技术价值在于,它强制开发者遵循最小权限原则,有效防止了恶意应用随意访问其他应用的私 阅读详情

相关推荐

2006NOIP普及组真题 4. 数列

从上述推理中,我们发现要输出的幂次和中的第 N 项(也就是幂次和中的序号N),对应的二进制位数和幂次和对应的二进制位数相同。当 k=3 时,k的幂次为1, 3, 9, 27, 81…,即第0位,第2位均为1,转成 k 进制(k=3)时。,即第2位,第3位均为1,转成 k 进制(k=3)时。转成 k 进制(k=3)时的幂次和为。,即第0位,第1位,第2位均为1,(即第0位,第1位,第2位均为1)N=12时,12的二进制是。(即第0位,第2位均为1)(即第2位,第3位均为1)结论:这道题就变成了。

weixin_40252159的博客 1513

android.app.ContextImpl.startActivity(ContextImpl.java:617)

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

蚁人日记 1431

Tesla V100 在 Windows 下的驱动选择与模式切换实战

本文详细解析了Tesla V100专业计算卡在Windows系统下的驱动安装与模式切换实战。针对设备管理器识别但任务管理器“隐身”的常见问题,文章指出其默认TCC模式为纯计算设计,并指导用户正确选择数据中心或GRID驱动。核心在于通过注册表修改或驱动选择,在高效的TCC模式与便于监控的WDDM模式间切换,同时提供了nvidia-smi命令行监控与AI框架测试等稳定使用方案。

weixin_29247219的博客 1804

android context调用startActivity时报错:Calling startActivity() from outside of an Activity context ...

问题描述: startActivity时报错Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag 问题代码: Intent intent = new Intent(); intent.setClass(mContext, PhotoView.c...

0729Liang 1832

PIC单片机应用开发实践教程(二): 新建工程

File---New ProjectMicrochip Embedded --- Standalone Project 选择所用MCU对应型号 点击 Finish 后,工程就建好了 至止,我们的一个新工程就建完成了!

qq_57798018的博客 2888

PTPX功耗分析实战——从脚本配置到报告解读

本文详细介绍了PTPX功耗分析的全流程,从脚本配置到报告解读,帮助工程师快速掌握芯片设计中的功耗估算技术。文章涵盖了环境搭建、波形文件处理、功耗报告解析等关键环节,并提供了实战经验和优化建议,特别适合需要提升PTPX功耗分析效率的开发者。

weixin_29248313的博客 279

Android 容易犯的错误

1.设置TextView的文本颜色 TextView tv; ... tv.setTextColor(R.color.white); 其实这样设置的颜色是 R.color.white的资源ID值所代表的颜色值,而不是资源color下的white颜色值:正确的做法如下: ? tv.setTextColor(getResources().getC

一克先生的专栏 1209

python自动交易 缠论_缠论自动交易系统实现了

一、缘起:缠中说禅的伟大,我想你只要上网搜索一下就知道了,他的才气不用我说,我只想说说他的《教你炒股票》系列文章,108篇文章,将他的股票操盘秘籍全部公开给广大的股友了,更有缠友将其理论写成公式,在网上也是广为流传,深受广大缠友们的喜爱。我也是缠中说禅的忠实崇拜者之一,从2008年开始每天都使用缠论来看盘,特别想将缠论写成交易系统,让计算加来帮助我们自动交易,从而减轻我们盯盘的辛劳,可是苦于没有好...

weixin_39970689的博客 4636

Activity

安卓开发-3-Activity,基本使用,Intent简介,Intent组成,显式启动,隐式启动,Activity单向数据传递和双向数据传递,隐式和显式传递

简单点的博客 1571

InfiniBand(IB)实战指南:从硬件配置到性能优化

本文是一份详尽的InfiniBand实战指南,涵盖从硬件选型、部署到驱动配置、性能优化的全流程。重点解析了InfiniBand作为AI训练与高性能计算(HPC)核心网络的优势,特别是其支持的RDMA技术如何实现微秒级低延迟。文章提供了硬件匹配、NCCL压测、内核参数调优及在PyTorch分布式训练中启用IB的实操步骤,旨在帮助工程师构建和优化高性能计算集群。

mqtt6iot的博客 578

【时时三省】tessy 集成测试 总论

序论不积跬步无以至千里,不积小流无以成江海。正文。

时时三省的博客 1145

android activity启动方法,android:两种启动activity的方法

MainActivity.javaimport android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;impor...

weixin_33977572的博客 903

【QCA6174】QCA6174 DFS认证的时候会有概率信道不会跳转的情况,通常跳转成功概率只有25%问题分析及解决方案

Master设备需要测试的项目。

wgl307293845的博客 752

Content的startActivity方法需添加FLAG_ACTIVITY_NEW_TASK flag

Android 2.3.3 Eclipse Version: 3.7.0 LogCat BootBroadcastReceiver继承自android.content.BroadcastReceiver,处理广播事件,部分代码如下: public void onReceive(Context context, Intent intent) { ……

DebugLog的专栏 4万+

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Android Studio找不到符号方法startActivity

报错信息: Cannot resolve method ‘startActivity(android.content.Intent)’ 原因:当前类所继承的类没有上下文 将 startActivity(intent); 改成 view.getContext().startActivity(intent); 就可以了

weixin_54040976的博客 4628

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

startActivity时报错Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVI

startActivity时报错Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag 原代码如下: Intent intent = new Intent(); intent.setClass(mContext, PhotoView.cl

北冥有鱼 的专栏 552

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

startActivities(intent)报错

startActivities(intent);中intent报错,一个很低级的错误,在这里记录一下

m0_51436960的博客 2216

‘startActivity(android.content.Context, android.content.Intent, android.os.Bundle)‘ in ‘androidx.cor

'startActivity(android.content.Context, android.content.Intent, android.os.Bundle)' in 'androidx.core.content.ContextCompat' cannot be applied to '(android.content.Intent)' 这个错误通常出现在你尝试在一个非 Activity 类中使用 startActivity 方法时。

韦_恩的博客 581

android.content.ActivityNotFoundException异常

Android 隐式启动Activity 报错 android.content.ActivityNotFoundException异常 解决方法 节点中缺少: 原因: 由于在通过Intent调用Activity时,Android默认会自动添加CATEGORY_DEFAULT类别属性,故在Filter配置中CATEGORY_DEFAULT是不可缺少的;

听海的博客 1927

Android 调用浏览器 出现activitynotfoundexception解决思路的总结

Intent intent = new Intent(); intent.setAction(Intent.ACTION_VIEW); intent.setData(Uri.parse(url)); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.setPackage(mTopPkgName); mContext.star

Roben518的博客 3122

android中,跳转activity出现错误:android.content.ActivityNotFoundException

这种肯定是因为包名没对好导致的,属于比较简单的错误。仔细查看一下,你的manifest文件中的package是否与你的类所在的包一致。

wdxpg123的专栏 1597

隐式Intent找不到Activity:android.content.ActivityNotFoundException

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34366546的博客 583

Android Activity - 根 Activity 变化、APP 崩溃与自动重启

Android Activity - 根 Activity 变化、APP 崩溃与自动重启

weixin_52173250的博客 446
上一篇: Content的startActivity方法需添加FLAG_ACTIVITY_NEW_TASK flag
下一篇: Android SQLite数据库操作“绑定或列的索引超出范围”
DebugLog
博客等级 码龄15年 10粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值