WEB开发网
开发学院手机开发Android 开发 Android 开发指南-框架主题-安全和许可 阅读

Android 开发指南-框架主题-安全和许可

 2010-03-31 05:27:00 来源:WEB开发网   
核心提示:你可以通过shell指令 adb shell pm list permissions 来查看目前系统已有的permissions. 特别的,”-s”选项会以一种用户会看到的基本相同的格式来显示这些permissions:$ adb shell pm list permissions -sAll Permissions:

你可以通过shell指令 adb shell pm list permissions 来查看目前系统已有的permissions. 特别的,”-s”选项会以一种用户会看到的基本相同的格式来显示这些permissions:

$ adb shell pm list permissions -s

All Permissions:

Network communication: view Wi-Fi state, create Bluetooth connections, full

Internet access, view network state

Your location: access extra location provider commands, fine (GPS) location,

mock location sources for testing, coarse (network-based) location

Services that cost you money: send SMS messages, directly call phone numbers

在清单文件里 实施许可Enforcing Permissions in AndroidManifest.xml

用于限制进入系统或应用程序的Components的高级别许可可以再AndroidManifest.xml中实现.所有这些都可以通过在相应的 component中包含 android:permission 属性,命名该permission以使其被用以控制进入的权限。

Activity许可(应用于标签)限制了谁才可以启动相应的活动。permission会在Context.startActivity()和Activity.startActivityForResult()的时候进行检查。如果caller没有所需的权限,则会抛出一个SecurityException。

Service许可(应用于标签)用于限制谁才可以start或bind该service。在Context.startService() , Context.stopService()和Context.bindService()调用的时候会进行权限检查。如果caller没有所需的权限,则会抛出一个SecurityException。

BroadcastReceiver许可(应用于标签)用于限制谁才可以向该receiver发送广播。权限检查会在Context.sendBroadcast() 返回时进行,由系统去发送已经提交的广播给相应的Receiver。最终,一个permission failure不会再返回给Caller一个exception;它只是不会去deliver该Intent而已。同样地,Context.registerReceiver()也可以有自己permission用于限制谁才可以向一个在程序中注册的receiver发送广播。另一种方式是,一个permission也可以提供给Context.sendBroadcast() 用以限制哪一个BroadcastReceiver才可以接收该广播。

ContentProvider许可(应用于标签)用于限制谁才可以访问ContentProvider提供的数据。(Content

上一页  1 2 3 4 5 6 7  下一页

Tags:Android 开发指南 框架

编辑录入:coldstar [复制链接] [打 印]
赞助商链接