Android程序间的跳转问题
2016-03-22 10:28
387 查看
跳转无非就是知道包名。貌似很简单,今天却搞了1小时才弄出来,问题出在两个程序不在同一个进程。
为此总结常见问题
常规跳转方法代码
问题一
java.lang.SecurityException: Permission Denial:
你的包名写对了,你的详细跳转activity也写对了,运行出现如图的权限问题。
这是什么问题,是由于两个程序不在同一个进程里导致的。
解决办法:修改两个程序的AndroidManifest.xml 将AB两个程序的<Application>标签加入如下代码
<application
android:label="@string/app_name"
android:icon="@drawable/icon"
android:process="cn.fotomen"
>
如代码所示,红色为新增,设置他们为同一个进程。两个程序的 都要改。测试应该就OK
问题二
[INSTALL_PARSE_FAILED_BAD_SHARED_USER_ID]
有时候看贴子可能会提示你把他们设置同一个共享的userid,但是有的虚拟机不支持。所以就不要画蛇添足了
解决方法:去掉<mainfest>标签中的 android:sharedUserId="test"一行即可
目前就发现这两个问题,如果你有新问题,请你跟帖,谢谢!
更正一下 经过 singwhatiwanna的指点
我分析的有问题,真正阻止他的原因是因为跳转的activity的属性问题,应该设置为开放 这样其他程序就可以调用他了
android:exported="true"
跳转无非就是知道包名。貌似很简单,今天却搞了1小时才弄出来,问题出在两个程序不在同一个进程。
为此总结常见问题
常规跳转方法代码
ComponentName componetName = new ComponentName( //这个是另外一个应用程序的包名 "cn.fotomen.camera", //这个参数是要启动的Activity "cn.fotomen.camera.activity.WelcomeActivity"); try { Intent intent = new Intent(); Bundle bundle = new Bundle(); intent.putExtras(bundle); intent.setComponent(componetName); context.startActivity(intent); } catch (Exception e) { //如果没找到 可以给出提示 或者其他操作 }
问题一
java.lang.SecurityException: Permission Denial:
你的包名写对了,你的详细跳转activity也写对了,运行出现如图的权限问题。
这是什么问题,是由于两个程序不在同一个进程里导致的。
解决办法:修改两个程序的AndroidManifest.xml 将AB两个程序的<Application>标签加入如下代码
<application
android:label="@string/app_name"
android:icon="@drawable/icon"
android:process="cn.fotomen"
>
如代码所示,红色为新增,设置他们为同一个进程。两个程序的 都要改。测试应该就OK
问题二
[INSTALL_PARSE_FAILED_BAD_SHARED_USER_ID]
有时候看贴子可能会提示你把他们设置同一个共享的userid,但是有的虚拟机不支持。所以就不要画蛇添足了
解决方法:去掉<mainfest>标签中的 android:sharedUserId="test"一行即可
目前就发现这两个问题,如果你有新问题,请你跟帖,谢谢!
更正一下 经过 singwhatiwanna的指点
我分析的有问题,真正阻止他的原因是因为跳转的activity的属性问题,应该设置为开放 这样其他程序就可以调用他了
android:exported="true"
相关文章推荐
- 两个android程序间的相互调用(apk互调)
- Android WebView的Js对象注入漏洞解决方案
- android自动更新功能
- LoadingProgressBar(类似SwipeRefreshLayout的加载进度指示器)
- HelloAndroid
- android全屏去掉title栏的多种实现方法
- Android攻城狮学习笔记—入门篇一
- Android ListView item中有按钮(Button)不能点击或者条目不能点击的问题
- Android之ProgressBar详解---自定义ProgressBar
- Android中ListView下拉刷新的实现
- android中的内外部存储
- 关于Linearlayout中控件设置为其底部的问题,android:layout_gravity="bottom"没效果
- Android使用缓存优化ListView
- Android系列---JSON数据解析
- android源码分析——从button的点击事件看回调机制
- Android平台Log输出规范
- Android开发之MdiaPlayer详解
- Android中dip、dp、sp、pt和px的区别
- Android Studio调试功能使用总结【转】
- Android startService和bindService的区别