【Android】在一个应用中启动另一个应用的Activity时失败的解决办法
2014-09-16 17:59
573 查看
当在一个应用中启动另一个应用的Activity时失败,并且错误信息为
android Permission Denial:
......
requires null
时,并不一定是权限的问题。
如果是缺少某个权限,那么错误信息会是 requires <permission>。这时,只要将相应的权限添加到
AndroidManifest.xml 中就可以了。但这里提示 requires null, 所以应该不是缺少某个权限的问题。
在网上找到如下资料:
In eclair, the CropImage activity has no intent-filter associated withit,
so it is not exported. This means it cannot be launched by components of other applications. If this is what you are trying to do,
then that would explain the failure.
大概是说,在eclair下,没有定义intent-filter的activity是没有出口的。也就是不能被其它程序启动。
所以,相应的解决方法就是在 AndroidManifest.xml 中,为 activity
添加 intent-filter 的定义。通过测试发现,只要添加如下语句,activity就可以被正常调用:
相应的启动代码为:
从以上可以看出,解决的本质仅仅是为 activity 添加一个可有可无的 action 属性而已。
补充:如果你点击的第一个应用不是你写的,是android自带的,你用什么方法来打开另一个应用呢?
打开方法一样。系统自带的程序,都是有action的,不会存在打不开的问题。如果打不开,那也只能是系统不允许一般程序调用。
转自:http://hi.baidu.com/gaogaf/item/c2165abf1a073b42bb0e1240
android Permission Denial:
......
requires null
时,并不一定是权限的问题。
如果是缺少某个权限,那么错误信息会是 requires <permission>。这时,只要将相应的权限添加到
AndroidManifest.xml 中就可以了。但这里提示 requires null, 所以应该不是缺少某个权限的问题。
在网上找到如下资料:
In eclair, the CropImage activity has no intent-filter associated withit,
so it is not exported. This means it cannot be launched by components of other applications. If this is what you are trying to do,
then that would explain the failure.
大概是说,在eclair下,没有定义intent-filter的activity是没有出口的。也就是不能被其它程序启动。
所以,相应的解决方法就是在 AndroidManifest.xml 中,为 activity
添加 intent-filter 的定义。通过测试发现,只要添加如下语句,activity就可以被正常调用:
<intent-filter> <action android:name=""/> </intent-filter>
相应的启动代码为:
Intent intent = new Intent(); intent.setClassName(<package name>, <class name>); startActivity(intent);
从以上可以看出,解决的本质仅仅是为 activity 添加一个可有可无的 action 属性而已。
补充:如果你点击的第一个应用不是你写的,是android自带的,你用什么方法来打开另一个应用呢?
打开方法一样。系统自带的程序,都是有action的,不会存在打不开的问题。如果打不开,那也只能是系统不允许一般程序调用。
转自:http://hi.baidu.com/gaogaf/item/c2165abf1a073b42bb0e1240
相关文章推荐
- Android在一个应用中启动另一个应用的Activity时失败的解决办法
- Android在一个应用中启动另一个应用的Activity时失败的解决办法
- Android在一个应用中启动另一个应用的Activity的办法
- (大总结)从寻找fragment静态导入activity总是失败的解决方法中了解android应用的系统启动过程
- Android启动另一个Activity时无法执行语句解决办法之加载延迟
- Android中用一个应用启动另一个应用并传递参数
- android 一个apk启动另一个apk的activity
- android--通过广播启动另一个应用的Activity
- eclipse运行android程序,总是启动一个新的AVD模拟器,解决办法
- android一个应用的activity调用另一个应用的activity
- android Acitivity启动时全透明设置 一个应用调用另一个应用中的某些功能
- Android 通过广播启动另一个应用的Activity
- Android 开发一个Activity 启动另一个Activity碰到的一个问题
- Android 一个应用启动另一个应用的说明
- IIS不能启动站点,另一个站点可能已经在使用您为此站点配置的端口。请为此站点选择一个没有使用的端口解决办法:
- Android开发——通过广播启动另一个应用的Activity
- android 点击通知栏返回应用 ,非启动一个新Activity
- android一个项目引用另一个项目的解决办法
- Android应用开发学习笔记之启动另外一个Activity
- Android 一个应用启动另一个应用的说明