• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > android:exported 属性分析

android:exported 属性分析

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了android:exported,exported属性,exported,exported是什么意思,exported from the uk等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

android:exported 属性分析


</div>

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

因此,查了官方API,学习了一下这个属性!<喎?http://www.Bkjia.com/kf/ware/vc/" target="_blank" class="keylink">vcD4NCjxociAvPg0KPHA+YW5kcm9pZDpleHBvcnRlZCDKx0FuZHJvaWTW0LXEy8S089fpvP4gQWN0aXZpdHmjrFNlcnZpY2WjrFByb3ZpZGVyo6xSZWNlaXZlciDLxLTz1+m8/tbQtry74dPQtcTSu7j2yvTQ1KGjPC9wPg0KPHA+19zM5cC0y7XL/LXE1vfSqtf308PKx6O6yse38dans9bG5Mv806bTw7X308O1scew1+m8/qGjPGJyIC8+DQrErMjP1rWjusjnufuw/Lqs09BpbnRlbnQtZmlsdGVyIMSsyM/Wtc6qdHJ1ZTsgw7vT0GludGVudC1maWx0ZXLErMjP1rXOqmZhbHNloaM8L3A+DQo8cD7PwsPmwLTP6s+4tcTBy73i0rvPwsvEtPPX6bz+1tC1xNXiuPbK9NDUo7o8L3A+DQo8cD4xoaLPyMC0v7SjukFjdGl2aXR51tC1xKO6PC9wPg0KPHByZSBjbGFzcz0="brush:java;"> "true" | "false"] …… />

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

这里写图片描述

意思如下:

在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中的:

"true" | "false"]
         android:exported=["true" | "false"]
         android:icon="drawable resource"
         android:isolatedProcess=["true" | "false"]
         android:label="string resource"
         android:name="string"
         android:permission="string"
         android:process="string" >
    . . .

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

这里写图片描述

意思如下:
该属性用来标示,其它应用的组件是否可以唤醒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中的:

"list"
          android:enabled=["true" | "false"]
          android:exported=["true" | "false"]
          android:grantUriPermissions=["true" | "false"]
          android:icon="drawable resource"
          android:initOrder="integer"
          android:label="string resource"
          android:multiprocess=["true" | "false"]
          android:name="string"
          android:permission="string"
         android:writePermission="string" >
    . . .

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

这里写图片描述

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

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

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

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

4、receiver中的:

"true" | "false"]
          android:exported=["true" | "false"]
          android:icon="drawable resource"
          android:label="string resource"
          android:name="string"
          android:permission="string"
          android:process="string" >
    . . .

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

这里写图片描述系统或者其它应用的广播,所以这个时候默认值是true。

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

更正:

之前的默认值那块写错了,应该是:
默认值:如果包含有intent-filter 默认值为true; 没有intent-filter默认值为false

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • android:exported 属性分析

相关文章

  • 2017-05-26Android学习第五篇——动画效果
  • 2017-05-26Android中ListView实现图文并列并且自定义分割线(完善仿微信APP),androidlistview
  • 2017-05-26Linux大文件已删除,但df查看已使用的空间并未减少解决
  • 2017-05-26Android 实用代码片段,
  • 2017-05-26AS下NDK开发(一),as下ndk开发
  • 2017-05-26Jar mismatch错误的解决,jarmismatch错误
  • 2017-05-26带新手走进神秘的HTTP协议,新手走进协议
  • 2017-05-26关于视频编辑SDK的接入说明,视频编辑sdk接入
  • 2017-05-26《Android Studio实用指南》12.18 文本搜索工具
  • 2017-05-26【Android】如何写一个JsBridge

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • Android--BroadcastReceiver应用详解
    • 「视频直播技术详解」系列之六:现代播放器原理,
    • Android Support Library 之 Toolbar
    • Android音乐播放器源码(歌词.均衡器.收藏.qq5.0菜单.通知),android.qq5.0
    • x11vnc无法识别大写状态键的解决方法
    • Android Volley框架的使用(5),androidvolley
    • 安卓第十五天笔记-图形图像一些简单处理,安卓第图形图像
    • 大神都是有个起点的,大神都是起点
    • 致DBA:为什么你经常犯错,是因为你做的功课不够
    • android开发之路08(ListView&amp;Adapter),androidlistview

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有