位置: 编程技术 - 正文

android:exported 属性详解

编辑:rootadmin

推荐整理分享android:exported 属性详解,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

昨天在用扫描应用漏洞时,扫描结果,出来一个android:exported属性,其实之前根本不知道这个属性,更不知道这个属性用来干嘛的,详情见下图:

因此,查了官方API,学习了一下这个属性!

android:exported 是Android中的四大组件 Activity,Service,Provider,Receiver 四大组件中都会有的一个属性。

总体来说它的主要作用是:是否支持其它应用调用当前组件。 默认值:如果包含有intent-filter 默认值为false; 没有intent-filter默认值为true。

下面来详细的了解一下四大组件中的这个属性:

1、先来看:Activity中的:

意思如下:

在Activity中该属性用来标示:当前Activity是否可以被另一个Application的组件启动:true允许被启动;false不允许被启动。

如果被设置为了false,那么这个Activity将只会被当前Application或者拥有同样user ID的Application的组件调用。

exported 的默认值根据Activity中是否有intent filter 来定。没有任何的filter意味着这个Activity只有在详细的描述了他的class name后才能被唤醒 .这意味着这个Activity只能在应用内部使用,因为其它application并不知道这个class的存在。所以在这种情况下,它的默认值是false。从另一方面讲,如果Activity里面至少有一个filter的话,意味着这个Activity可以被其它应用从外部唤起,这个时候它的默认值是true。

其实,不只有这个属性可以指定Activity是否暴露给其它应用,也可以使用permission来限制外部实体唤醒当前Activity(详情见permission属性)

2、Service中的:

android:exported 属性详解

意思如下: 该属性用来标示,其它应用的组件是否可以唤醒service或者和这个service进行交互:true可以,false不可以。如果为false,只有同一个应用的组件或者有着同样user ID的应用可以启动这个service或者绑定这个service。

默认值根据当前service是否有intent filter来定。如果没有任何filter意味着当前service只有在被详细的描述class name后才会被唤醒。这意味这当前service只能在应用内部使用(因为其它应用不知道这个class name).所以在这种情况下它的默认值为 false.从另一方面讲,如果至少有一个filter的话那么就意味着这个service可以被外部应用使用,这种情况下默认值为true。

其实,不只有这个属性可以指定service是否暴露给其它应用。你也可以使用permission来限制外部实体唤醒当前service(详情见permission属性)

3、Provider中的:

意思如下: 当前内容提供者是否会被其它应用使用: true: 当前提供者可以被其它应用使用。任何应用可以使用Provider通过URI 来获得它,也可以通过相应的权限来使用Provider。

false:当前提供者不能被其它应用使用。设置Android:exported=“false”来限制其它应用获得你应用的Provider。只有拥有同样的user ID 的应用可以获得当前应用的Provider。

当Android sdk 的最小版本为或者更低时他的默认值是true。如果是和以上的版本默认值是false。

可以通过Android:exported=“fasle” 和 permission来限制当前应用Provider是否会被其它应用获取。

4、receiver中的:

意思如下: 当前broadcast Receiver 是否可以从当前应用外部获取Receiver message 。true,可以;false 不可以。如果为false ,当前broadcast Receiver 只能收到同一个应用或者拥有同一 user ID 应用发出广播。

默认值根据当前 broadcast Receiver 是否包含intent filter来定。如果没有任何的filter的话意味着只有在被详细的描述了class name的情况下才会被唤起。这意味着当前Receiver只能在应用内部被使用(因为其它应用不知道这个类的存在。)在这种情况下,默认值是false。如果至少包含一个filter意味着当前broadcast Receiver 将会收到来自系统或者其它应用的广播,所以这个时候默认值是true。

不只有这个属性可以指定broadcast Receiver 是否暴露给其它应用。你也可以使用permission来限制外部应用给他发送消息。

在上文中提到的两个概念:user ID 和 permission 在网上找见了两篇不错的文章: 1、Android中startActivity中的permission检测与UID机制 2、Android Permission 机制

Android 图片缓存之内存缓存技术LruCache,软引用 转自:

如何在真机上调试Android应用程序(图文详解) 1、首先将手机设置为调试模式方法:设置——应用程序——开发——USB调试,打上√即可2、用数据线连接至电脑,在电脑上安装豌豆荚,此时豌豆荚会

第四章,简单的水果机游戏(Android) 首先说明一点,这个例子有个致命bug,是写到后面才发现的,就是快速连续点start和stop按钮会出错,因为用的handler,所以会不断开启线程,后来也想了

标签: android:exported 属性详解

本文链接地址:https://www.jiuchutong.com/biancheng/387464.html 转载请保留说明!

上一篇:Android 软件开发之如何使用Eclipse Debug调试程序详解(android软件开发实例)

下一篇:Android 图片缓存之内存缓存技术LruCache,软引用(安卓手机图片缓存在哪)

  • 工资薪金和工资薪金总额区别
  • 开农贸市场挣钱吗
  • 利润表季度怎么填写
  • 民办非企业免税额度
  • 增值税优惠政策3%降1%
  • 预付账款收不到发票汇算清缴调整增吗
  • 库存商品的进销存怎么做账
  • 所得税费用和应交税费的关系
  • 一般纳税人普通发票免税吗
  • 应收代位追偿款是什么意思
  • 企业设备维修管理制度
  • 当月确认收入下月开票
  • 城镇土地使用税的计税依据
  • 失控发票进项税转出企业无法承担所得税怎么办
  • 出口退税和企业所得税
  • 外出什么意思?
  • 设备租赁涉及税种
  • 加计扣除申报表填报说明
  • 金税盘点了没反应
  • 国际货运代理免税怎么做账
  • 存货跌价准备会计科目编码
  • 固定资产一次性扣除账务处理
  • 报关单和发票上的公司抬头不一致
  • 计提工资是计提当月的还是上个月的
  • 房地产企业卖出去的房子需要缴纳城镇土地使用税吗
  • 办理银行承兑汇票贴现的会计分录
  • 企业的污水处理设备可以间断性运行么
  • 知识产权代理公司前景如何
  • 打开我的电脑出现找不到应用程序
  • c盘扩展卷是灰色的,有空间
  • 财务里计提是什么意思
  • php生成php文件
  • php字符串变量
  • 金融企业贷款逾期怎么办
  • 交易性金融资产公允价值变动计入
  • 企业签订的技术合同
  • ai implementation
  • 转让旧固定资产增值税例题
  • php注册功能的实现
  • Thinkphp和onethink实现微信支付插件
  • golang、python、php、c++、c、java、Nodejs性能对比
  • 停在花朵上,好像在认真的听同学们读课文修改病句
  • vue项目如何打包成dist
  • 微信小程序项目中app.js文件是全局样式文件
  • javascript基础类型
  • 猿猴的作文
  • 融资租赁的会计科目
  • 买商品赠送赠品怎么做账
  • 新公司建账会计科目
  • 1000左右打印机
  • 织梦手机端
  • access日期时间格式怎么修改
  • 实收资本期末需要结转吗
  • 自用房地产转换为采用成本模式计量的投资性房地产
  • 其他流动资产待摊费用
  • 物业公司代收水费合理吗
  • 资产总额怎么进行税务数据授权登记
  • 代开的专票作废了怎么做账?
  • 银行日记账怎么导出
  • sql server2019还原数据库
  • sql server如何远程登录
  • SQL Server 2005/2008 用户数据库文件默认路径和默认备份路径修改方法
  • linux系统中可用于添加用户账号
  • win7无法运行
  • win7系统如何安装蓝牙驱动
  • win7大小写提示图标
  • win7升win8要钱吗
  • 安装linux系统步骤图解
  • js常用排序算法
  • jquery easy ui
  • js原生dialog
  • js获取当前点击事件的节点
  • js 设计模式
  • android开发遇到的技术难点
  • jquery ajax结合thinkphp的getjson实现跨域的方法
  • 小规模纳税人开专票可以抵扣吗
  • 关于房地产企业所得税涉税处理表述正确的有
  • 山西税务官网登录
  • 增值税税负偏低的风险点
  • 船舶吨税多少天缴纳一次
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设