免费教程_免费网赚教程_破解版软件-寂涯网络学习基地

当前位置: 主页 > 系统综合 > 系统安全 > Android远程监控技术之Android系统概述(4)

Android远程监控技术之Android系统概述(4)

时间:2012-03-13 16:02来源:未知 整理:寂涯网络 点击:


2.防止越权应用启动受保护的Activity。
3.对Broadcast发送者和接收者进行权限控制。
4.防止越权应用启动或者绑定受保护的Service。
5.防止越权应用访问操作受保护的ContentProvider。
为了在自己的应用程序中实施自己的权限控制,可以在AndroidManifest.xml文件中创建更多的<permission>标签来实现。形式如下:
〈manifest xmlns:Android=^http://schemas. Android. com/apk/res/Android〃 package="com. me. app. myapp" >
〈permission Android: name=/,com. me. app. myapp. permission.DEADLY_ACTIVITY"
Android:label=//@string/permlab_deadlyActivity^
Android:description=^@string/permdesc_deadlyActivity^
Android: permissionGroup=//Android. permission-group. C0ST_M0NEY^ Android:protectionLevel=〃dangerous〃 />
〈/manifest>
<protectionLevel>标签是并且非常重要,它最重要的特性在于定义其他程序是否有权限申 请该权限,也就是说在Android系统中并不是想申请什么权限就获取什么权限的。权限定义者可以通过<protectionLevel>标签,限定申请者。protectionLevel分为0-3四个等级, 如果没有显示定义它,默认值为0,它的取值如下:
字符串 值 描述
normal 0 默认等级,低风险的权限。
dangerous 1 髙风险权限,需要用户确认
signature 2 包含相同签名的应用才能获取
signatureOrSystem 3 android系统镜像文件中的应用才能获取,或者与system有相同签名的应用才能获取,通常情况下不要使用该取值。
在源码中的frameworks/base/core/res/androidmanifest.xml中可以查看到系统提供 的权限列表。我们最关心的是androidprotectionLevel标签。因为作为第三方应用程序开发,能够申请的只有Android:protectid&Level取值为0,1的权限,其他的权限即使在 AndroidManifest. xml 文件中申请了也不会被系统赋予,比如 Android, permission. INSTM,L^^§KAGES 权限描述如下:
〈permission Android:name="Android.permission. INSTALL_PACKAGES'' Android:label=^@string/permlab_installPackages" Android:description=^@string/permdesc_installPackages" Android:protectionLevel=^signatureOrSystem^ />
这决定了第三方应用程序即使在Androidmanifest.xml文件中申请了该权限也无法被赋予, 除非我们使用系统签名或者集成在Android系统镜像文件中。
在AndroidManifest.xml中可以对组件实施权限控制需要通过Android:permission标 签实现。在Activity组件中实施权限控制用来限制谁可以启动这个组件, Context. startActivity()或者 Activity. startActivityForResult ()函数触发权限检查。 在Service组件实施权控制用来限制谁可以启动或者绑定这个服务, Context. startService (), Context.stopService ()和 Context. bindService ()函数触发权限检查。在BroadcastReceiver组件实施权限控制限制谁可以发送broadcast到该组件。 Context.sendBroadcast()之后触发权限检查。相反Context.sendbroadcast()可以通过调用 Context.registerReceiver ()限制接收 broadcast 的组件。在 ContentProvider 组件实施权限控制限制谁可以访问该组件。ContentProvider提供一个额外的安全特性URI permissions补充单纯permission机制的不足。URI permissions似提供了两个分离的属性:
Android:readPermission 和 Android:writePermission,前者用来限制谁可以读取该 URI, 后者限制谁可以写该 URI。ContentResolver. query ()ff^ Android:readPermission 权限, ContentResolver. insert (), ContentResolver. update (), ContentResolver. delete ()需要 Android:writePermission 权限。
Android权限列表
上节中已经讲到,在Android系统中应用程序如果要或得某一组件或者某一设备的访问权限,就需要在AndroidManifest.xml文件中申请相关的权限,本节对Android内置的权限进行详细的介绍,如果我们在程序开发中需要使用相关权限,就一定要在 AndroidManifest.xml 文件中申明。Android 2.1 提供的 Permission 如下:
Android, permission. ACCESS_CHECKIN_PROPERTIES :允许读写 checkin 数据库中 properties 表(Allows read/write access to the “properties” table in the checkin database, to change values that get uploaded)
Android, permission. ACCESS_COARSE_LOCATION:允许一个程序访问 CellID 或 WiFi 热点来获取粗略的位置(Allows an application to access coarse (e.g., Cell-ID, WiFi) location)
Android, permission. ACCESS_FINE_LOCATION:允许一个程序访问精确位置(如 GPS) (Allows an application to access fine (e.g., GPS)Tlocation)
Android, permission. ACCESS_LOCATION_EXTRA_COMMANDS:允许应用程序访问额外的位置提供命令(Allows an application to access extra location provider commands) Android, permission. ACCESS_MOCK_mock_location:允许程序创建模拟位置提供用于测试 (Allows an application to create mock location providers for testing)

本页地址 http://www.jybase.net/xitonganquan/20120313797.html

百度搜索更多

谷歌搜索更多

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------

评价:
昵称: 验证码:点击我更换图片
推荐内容
赞助商
赞助商


关于本站免责声明视频更新google百度地图视频地图RRS订阅

如有什么问题请在本站留言,或发邮件到 hxt167#foxmail.com