android中Componentname的使用方法——打开其他应用的activity
来源:互联网 发布:开淘宝店怎么发货 编辑:程序博客网 时间:2024/05/17 08:12
ComponentName,顾名思义,就是组件名称,通过调用Intent中的setComponent方法,我们可以打开另外一个应用中的Activity或者服务
实例化一个ComponentName需要两个参数,第一个参数是要启动应用的包名称,这个包名称是指清单文件中列出的应用的包名称:
基本的写法如下:
实例化一个ComponentName需要两个参数,第一个参数是要启动应用的包名称,这个包名称是指清单文件中列出的应用的包名称:
第二个参数是你要启动的Activity或者Service的全称(包名+类名),代码如下:
启动一个Activity:
启动一个Service:
注意
如果你要的启动的其他应用的Activity不是该应用的入口Activity,那么在清单文件中,该Activity节点一定要加上Android:exported="true",表示允许其他应用打开,对于所有的Service,如果想从其他应用打开,也都要加上这个属性:
对于除了入口Activity之外的其他组件,如果不加这个属性,都会抛出“java.lang.SecurityException: Permission Denial.....”异常
那么为什么入口Activity不用添加这个属性就可以被其他应用启动呢?我们来看一段入口Activity的注册代码:
入口Activity和普通Activity唯一不同的地方就是入口Activity多了一个过滤器,对于包含了过滤器的组件,意味着该组件可以提供给外部的其他应用来使用,它的exported属性默认为true,相反,如果一个组件不包含任何过滤器,那么意味着该组件只能通过指定明确的类名来调用,也就是说该组件只能在应用程序的内部使用,在这种情况下,exported属性的默认值是false。
阅读全文
0 0
- android中Componentname的使用方法——打开其他应用的activity
- android打开其他应用的activity并返回数据
- Android应用中如何调用其他应用的Activity
- ComponentName的应用
- Android中ComponentName的简单运用
- Android ComponentName的用法
- Android ComponentName的用法
- Android ComponentName的用法
- Android ComponentName的用法
- Android ComponentName的用法
- Android ComponentName的用法
- Android ComponentName的使用
- 使用Activity直接打开其他应用的方法
- android创建快捷方式来打开应用中特定的Activity
- android应用开发详解(十四)------------------Intent的ComponentName属性
- Android 打开另外一个应用的activity
- 如何打开APP在应用市场中对应的的activity页面---Android拓展篇 ——诺诺"涂鸦"记忆
- Android中打开其他应用程序的组件
- c中调用Lua函数
- CCNA简略复习
- java基础:集合类型set,list,map
- Junit
- Dubbo介绍
- android中Componentname的使用方法——打开其他应用的activity
- 关于私有属性不能被继承中,Java官方解释
- 根据经纬度计算两点间距离(别问我公式细节,我也没明白,照搬就行)
- 单调栈--poj2559 Largest rectangle in a Histogram
- codeforces—— 230B —— T-primes
- iOS获取音频设备信息
- 页面的一次往返处理
- 我们心心念念的原型批注审阅方式可能是这样的...
- 【源资讯 第36期】赶超 Java 和 PHP,Python 成最热门编程语言?