为什么隐式intent无法启动activity
来源:互联网 发布:股票交易数据接口 编辑:程序博客网 时间:2024/05/17 03:41
由于是自学的安卓,一直看的是《安卓疯狂讲义》。虽然书里面写只要在activity的intent-filter里面配置相关属性即可被隐式intent启动,但是实际测试中却好像碰到了问题。
当程序创建Intent时,该Intent默认启动Category属性值为Intent.CATEGORY_DEFAULT常量(常量值为android.category_DEFAULT)的组件。
*既然是默认启动,如果我们在创建Intent时指定了category属性的值,而且目标组件的IntentFilter中也有该category的值,这样的隐式intent可以启动目标组件吗?
(经测试,不能启动!02-26 09:41:59.007: E/AndroidRuntime(404): Caused by: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=com.aishang5wpj.intent.action.TEST_DIALOG cat=[com.aishang5wpj.intent.category.TEST_DIALOG] }
)
因此,虽然上面的粗体字代码并未指定目标的Intent的Category属性,但该Intent已有一个android.intent.category_DEFAULT属性值,因此被启动Activity的配置元素的<intent-filter.../>元素里至少还包括一个如下的<category../>子元素。
<category android:name="android.intent.category.DEFAULT" />
总结起来就是说,配置Activity时它的intent过滤器中必须有Category属性值为Intent.CATEGORY_DEFAULT常量,否则无法通过隐式intent启动。
0 0
- 为什么隐式intent无法启动activity
- Intent的隐式方式启动Activity
- Android Activity Intent隐式启动
- 使用隐式的Intent启动activity
- 关于隐式Intent启动其他activity
- Activity之Intent隐式启动PK显示启动
- Intent显式和隐式启动Activity
- Android 进程间通信 Intent机制 隐式启动Activity
- Activity详解数据传递以及隐式Intent启动
- 隐式启动为什么要加android.intent.category.DEFAULT?
- 通过显式Intent启动另一个Activity
- 使用Intent启动Activity
- 利用Intent启动Activity
- 使用Intent启动Activity
- 使用Intent启动Activity
- Intent 启动 Activity
- Intent启动一个Activity
- 使用Intent启动Activity
- 利用dispatch_once创建单例
- VS2012开发相关快捷键(默认)
- ActionBarSherlock学习笔记——SupportActionBar()属性设置
- 我遇到的安卓错误解决方法
- linux git的安装
- 为什么隐式intent无法启动activity
- Linux ALSA声卡驱动之二:声卡的创建
- 精准营销下的大数据-搜狗-李刚
- 命令行启动服务
- UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
- IAP 程序内购
- 谈一下c# winform窗体的坐标体系
- 吐槽的段子
- HTTP 状态响应码 意思详解/大全