位置: 编程技术 - 正文

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,软引用(安卓手机图片缓存在哪)

  • 小规模纳税人申请一般纳税人条件
  • 证券交易印花税税率是多少
  • 发票上盖了老税号怎么办
  • 弥补上年亏损的成语
  • 除湿机 哪个好
  • 外资企业对应的企业是什么
  • 补偿性余额利息的计算公式
  • 收到的油费预付怎么入账
  • 汽车维修行业工时标准
  • 没有单价数量只有金额的发票可以用吗
  • 企业所得税国税还是地税征管
  • 继承的房产出售要交20%是全额还是差额
  • 个人两处以上所得经营所得怎么申报
  • 支票进账对方没钱开户行会打电话叫他存钱吗?
  • 拿提成的工资怎么算
  • 企业以盈余公积转增资本,会引起所有者权益总额的变动
  • windows10专业版是哪个版本
  • 怎么获得2021
  • 期末损益类科目结转
  • win11怎么双击直接打开程序
  • php数组函数大全
  • 广告性质的赞助支出可以在企业所得税前扣除吗
  • 银行存款的利息收入计入什么科目
  • 利润表中的收入是按什么确认的
  • vue前端页面设计
  • Vision Transformer 模型详解
  • 外经证核销期限是多久
  • 金蝶怎么加人
  • 金蝶财务软件总监是谁
  • 文心为何意
  • vue使用计算属性声明在什么配置项中
  • cuppath
  • kill命令机制
  • 未分配利润为负数严重吗
  • phpcms怎么样
  • 医疗机构收据
  • 租房押金会计分录是什么
  • 税控盘上月未清卡去税务带什么
  • 不抵扣勾选的发票在哪里查看
  • SQL Server 2008 数据库有哪些版本?
  • 宣告分配现金股利和股票股利的区别
  • mysql安装问题
  • 金税四期的主要内容
  • 加计扣除适用于什么企业
  • sqlldr并发
  • 2013年11号公告企业政策性搬迁
  • 机票的退票费可以开具发票吗
  • 预付账款和应付账款的区别与联系
  • 油费预付卡如何办理
  • 红字发票异常处理什么意思
  • 把其他应付款转成实收资本的话需要去工商改注册资本么
  • 只有进项要交税吗
  • 没有销售怎么写总结
  • 库存商品核算
  • 财务软件无形资产有哪些
  • 何为生产型企业
  • 税票名称开错了有影响么
  • 开具销项负数发票会计分录
  • 数据库预处理语句
  • sqlyog语句
  • mmc不能打开文件win10
  • mysql调用数据库语句
  • 如何避免系统性风险
  • win10系统ie浏览器版本怎么看
  • linux系统磁盘管理的主要内容
  • win7打印无反应
  • 如何显示文件后缀名
  • node.js创建服务
  • css标准规范
  • css table-cell
  • java使用jni
  • 远程批量管理windows
  • android反编译apk
  • jquery当前时间
  • 如何安装python环境安装包
  • js延时加载的方法
  • jquery动态添加和删除div
  • 微信群记账小程序
  • 医保账户被扣财富怎么办
  • 注册海外公司如何注册
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设