`

介绍一下android的各种权限。 代码如下: Html代码 <manifestxmlns:androidmanifestxmlns:an

 
阅读更多

 

介绍一下android的各种权限。

代码如下:

Html代码
  1. < manifestxmlns:android manifestxmlns:android = "http://schemas.android.com/apk/res/android"   
  2.       package = "net.sunniwell.launcher"   
  3.       android android:versionCode ="1"android :versionName = "1.0.1" >   


关于自定义权限,这是很好的例子,其他apk程序要想使用Launcher的功能必须添加这些权限,而这些权限都是在这里声明的。


这个是安装快捷方式的权限定义:

Html代码
  1. < permission   
  2.         android:name = "com.android.launcher.permission.INSTALL_SHORTCUT"   
  3.         android:permissionGroup = "android.permission-group.SYSTEM_TOOLS"   
  4.         android:protectionLevel = "normal"   
  5.         android:label = "@string/permlab_install_shortcut"   
  6.         android:description = "@string/permdesc_install_shortcut" />   




这个是卸载快捷方式的权限定义:

Html代码
  1. < permission   
  2.         android:name = "com.android.launcher.permission.UNINSTALL_SHORTCUT"   
  3.         android:permissionGroup = "android.permission-group.SYSTEM_TOOLS"   
  4.         android:protectionLevel = "normal"   
  5.         android:label = "@string/permlab_uninstall_shortcut"   
  6.         android:description = "@string/permdesc_uninstall_shortcut" />   



这个是读取launcher.db内容的权限定义:

Html代码
  1. < permission   
  2.         android:name = "net.sunniwell.launcher.permission.READ_SETTINGS"   
  3.         android:permissionGroup = "android.permission-group.SYSTEM_TOOLS"   
  4.         android:protectionLevel = "normal"   
  5.         android:label = "@string/permlab_read_settings"   
  6.         android:description = "@string/permdesc_read_settings" />   



这个是修改和删除launcher.db内容的权限定义:

Html代码
  1. < permission   
  2.         android:name = "net.sunniwell.launcher.permission.WRITE_SETTINGS"   
  3.         android:permissionGroup = "android.permission-group.SYSTEM_TOOLS"   
  4.         android:protectionLevel = "normal"   
  5.         android:label = "@string/permlab_write_settings"   
  6.         android:description = "@string/permdesc_write_settings" />   
  7.    


这些是Launcher的权限声明,通过这些就能看出launcher的大概功能了:

打电话权限:

 

Html代码
  1. < uses-permissionandroid:name uses-permissionandroid:name = "android.permission.CALL_PHONE" />   


使用状态栏权限:

 

Html代码
  1. < uses-permissionandroid:name uses-permissionandroid:name = "android.permission.EXPAND_STATUS_BAR" />   


获取当前或最近运行的任务的信息的权限:

 

Html代码
  1. < uses-permissionandroid:name uses-permissionandroid:name = "android.permission.GET_TASKS" />   


读取通信录权限:

 

Html代码
  1. < uses-permissionandroid:name uses-permissionandroid:name = "android.permission.READ_CONTACTS" />   


设置壁纸权限:

Html代码
  1. < uses-permissionandroid:name uses-permissionandroid:name = "android.permission.SET_WALLPAPER" />   


允许程序设置壁纸hits的权限:

Html代码
  1. < uses-permissionandroid:name uses-permissionandroid:name = "android.permission.SET_WALLPAPER_HINTS" />   


使用震动功能权限:

Html代码
  1. < uses-permissionandroid:name uses-permissionandroid:name = "android.permission.VIBRATE" />   


修改删除launcher.db内容权限:

Html代码
  1. < uses-permissionandroid:name uses-permissionandroid:name = "android.permission.WRITE_SETTINGS" />   


绑定widget权限:

Html代码
  1. < uses-permissionandroid:name uses-permissionandroid:name = "android.permission.BIND_APPWIDGET" />   


读取launcher.db内容权限:

Html代码
  1. < uses-permissionandroid:name uses-permissionandroid:name = "net.sunniwell.launcher.permission.READ_SETTINGS" />   


修改删除launcher.db内容权限:

Html代码
  1. < uses-permissionandroid:name uses-permissionandroid:name = "net.sunniwell.launcher.permission.WRITE_SETTINGS" />   


读写外部存储设备权限:

Html代码
  1. < uses-permissionandroid:name uses-permissionandroid:name = "android.permission.WRITE_EXTERNAL_STORAGE" > </ uses-permission >   

 

Html代码
  1. < application   
  2.         android:name = "LauncherApplication"   
  3.       activity应该运行的进程的名字:  
  4. android:process = "android.process.acore"   
  5.         android:label = "@string/application_name"   
  6.         android:icon = "@drawable/swicon" >   
  7.   
  8. < activity   
  9.             android:name = "Launcher"   
  10.            是否  
  11. android:launchMode = "singleTask"   
  12.             android:clearTaskOnLaunch = "true"   
  13.             这个activity是否在被杀死或者重启后能恢复原来的状态:  
  14. android:stateNotNeeded = "true"   
  15.             android:theme = "@style/Theme"   
  16.             android:screenOrientation = "landscape"   
  17.             android:windowSoftInputMode = "stateUnspecified|adjustPan" >   
  18.   
  19. < intent-filter >   
  20.   
  21. < actionandroid:name actionandroid:name = "android.intent.action.MAIN" />   
  22.   
  23. < categoryandroid:name categoryandroid:name = "android.intent.category.LAUNCHER" />   


桌面应用的标记:

Html代码
  1. < categoryandroid:name categoryandroid:name = "android.intent.category.HOME" />   
  2.   
  3. < categoryandroid:name categoryandroid:name = "android.intent.category.DEFAULT" />   



自动化测试工具Monkey的标记,待研究…

Html代码
  1. < pre   class = "html"   name = "code" > < categoryandroid:name categoryandroid:name = "android.intent.category.MONKEY" />   
  2.   
  3. </ intent-filter >   
  4.   
  5. </ activity > </ pre >   


选择壁纸的activity:

<activity

android:name="WallpaperChooser"

android:label="@string/pick_wallpaper"

android:icon="@drawable/ic_launcher_gallery" >


设置壁纸的intent-filter:

 

Html代码
  1. < intent-filter >   
  2.   
  3. < actionandroid:name actionandroid:name = "android.intent.action.SET_WALLPAPER" />   
  4.   
  5. < categoryandroid:name categoryandroid:name = "android.intent.category.DEFAULT" />   
  6.   
  7. </ intent-filter >   


搜索的activity:

Html代码
  1. </ activity >   
  2.   
  3. <!-- Enable system-default search mode for any activity in Home -->   
  4.   
  5. < meta-data   
  6.             android:name = "android.app.default_searchable"   
  7.             android:value = "*" />   
  8.    


安装快捷方式的广播接收器:

 

Html代码
  1. <!-- Intent received used to install shortcuts from other applications-->   
  2.   
  3.   
  4. < receiver   
  5.             android:name = ".InstallShortcutReceiver"   
  6.             android:permission = "com.android.launcher.permission.INSTALL_SHORTCUT" >   
  7.   
  8. < intent-filter >   
  9.   
  10. < actionandroid:name actionandroid:name = "com.android.launcher.action.INSTALL_SHORTCUT" />   
  11.   
  12. </ intent-filter >   
  13.   
  14. </ receiver >   
  15.    
  16.   
  17. <!-- Intent received used to uninstall shortcuts from other applications-->   


卸载快捷方式的广播接收器:

 

Html代码
  1. < receiver   
  2.             android:name = ".UninstallShortcutReceiver"   
  3.             android:permission = "com.android.launcher.permission.UNINSTALL_SHORTCUT" >   
  4.   
  5. < intent-filter >   
  6.   
  7. < actionandroid:name actionandroid:name = "com.android.launcher.action.UNINSTALL_SHORTCUT" />   
  8.   
  9. </ intent-filter >   
  10.   
  11. </ receiver >   


声明ContentProvider,用于对launcher.db操作:

Html代码
  1. <!-- The settings provider contains Home's data, like the workspacefavorites -->   
  2.   
  3. < provider   
  4.             android:name = "SWLauncherProvider"   
  5.             android:authorities = "net.sunniwell.launcher.settings"   
  6.             android:writePermission = "net.sunniwell.launcher.permission.WRITE_SETTINGS"   
  7.             android:readPermission = "net.sunniwell.launcher.permission.READ_SETTINGS" />   
  8.    
  9.   
  10. </ application >   
  11.   
  12. < uses-sdkandroid:minSdkVersion uses-sdkandroid:minSdkVersion = "4" />   
  13.    
  14. </ manifest >   


说明:
1.
<manifest标签头部还应声明:
android:sharedUserId="android.uid.shared",作用是获得系统权限,但是这样的程序属性只能在build整个系统时放进去(就是系统软件)才起作用,手动安装是没有权限的。

分享到:
评论

相关推荐

    Android HTTP发送请求和接收响应的实例代码

    添加权限 首先要在manifest中加上访问网络的权限: 代码如下: &lt;manifest&gt; &lt;uses android:name=”android.permission.INTERNET”&gt; … &lt;/manifest&gt; 完整的Manifest文件如下: 代码如下: &lt;?xml version=”1.0″ ...

    Android各个主要手机机型跳转权限设置界面代码

    同时,开发者还可以借助第三方库,如`android-permissions`等,它们封装了各种设备的权限管理接口,简化适配工作。 总的来说,理解并适配Android各主要手机机型的权限设置界面,不仅能够提升用户体验,也有助于应用...

    Android Studio代码高亮插件

    在Android开发环境中,Android Studio是谷歌官方推荐的集成开发环境(IDE),它为开发者提供了丰富的功能和工具。其中,代码高亮(Code Highlighting)是提高编程效率和代码可读性的重要特性。代码高亮插件能够让...

    Android DevCamp幻灯片分享:和Android源代码一起工作 | 海豚浏览器 胡继堂

    ### 和Android源代码一起工作 #### 一、演讲概述及讲师背景 本次演讲主题为“和Android源代码一起工作”,由海豚浏览器的研发主管胡继堂主讲。胡继堂曾任职于微软亚洲工程院,拥有丰富的软件开发经验,自2010年起...

    Android 串口通信权限问题

    例如,添加如`&lt;uses-permission android:name="com.example.MY_PERMISSION" /&gt;`到AndroidManifest.xml,并在应用内部处理串口访问。 4. **第三方库**:为了简化串口通信,可以使用第三方库,如`Android-SerialPort-...

    android 经典代码例子

    在Android开发领域,经典代码例子是开发者学习和提升技能的重要资源。这些例子涵盖了各种关键功能和组件的实现,有助于深入理解Android应用的工作原理。在这个压缩包中,我们可能找到了多个有关Android编程的示例...

    Android修改系统文件访问权限

    在Android系统中,修改系统文件访问权限涉及到对操作系统底层的深度理解,这通常需要root权限。以下是关于这个主题的详细知识点: 1. **init.rc**:这是Android系统启动时执行的第一个脚本,位于系统的system/core/...

    Android第二行代码(郭霖全书源代码)

    《Android第二行代码》是郭霖撰写的一本深入浅出的Android编程入门书籍,它旨在帮助初学者快速理解和掌握Android应用开发。这本书的全书源代码提供了丰富的实践示例,帮助读者通过动手实践来巩固理论知识。以下是...

    Android 4.2.2源代码

    6. **安全机制**:Android 4.2.2强化了权限管理,源代码中可以学习到如何设置权限,以及权限验证的实现方式。 7. **系统更新与升级**:4.2.2支持无线更新(OTA),源代码揭示了系统更新的打包、验证和安装过程。 8...

    Android系统源代码情景分析 / 罗升阳著

    在内容上,《Android系统源代码情景分析(含CD光盘1张)》结合使用情景,全面、深入、细致地分析了Android系统的源代码,涉及到Linux内核层、硬件抽象层(HAL)、运行时库层(Runtime)、应用程序框架层...

    android定时开关机或重启的代码

    在Android系统中,实现定时开关机或重启的功能通常涉及到对系统底层权限的访问以及使用到广播接收器(BroadcastReceiver)和服务(Service)等组件。以下将详细解释如何在Android环境中构建这样的功能。 首先,理解...

    《Android系统源代码情景分析》

    《Android系统源代码情景分析》随书光盘内容(源代码) 目录如下: 第1篇 初识Android系统 第1章 准备知识 1.1 Linux内核参考书籍 1.2 Android应用程序参考书籍 1.3 下载、编译和运行Android源代码 ...

    Android应用自动更新代码实现

    &lt;action android:name="android.intent.action.DOWNLOAD_COMPLETE" /&gt; &lt;/intent-filter&gt; &lt;/receiver&gt; ``` 最后,安装APK时需要动态请求安装未知来源应用的权限(Android 8.0及以上版本),然后使用`Intent`启动...

    简单的记事本android应用源代码

    【标题】"简单的记事本android应用源代码"揭示了这是一个基于Android平台的简易记事本应用程序的开发源代码。这个应用可能具有基础的文本编辑、保存和查看功能,是初学者了解Android应用开发的好例子。 【描述】...

    简单的OpenCV实现摄像头实时显示和视频录制源代码(C++)

    std::cerr &lt;&lt; "无法打开摄像头" &lt;&lt; std::endl; return -1; } cv::namedWindow("Camera Feed", cv::WINDOW_NORMAL); while (true) { cv::Mat frame; cap &gt;&gt; frame; // 从摄像头捕获一帧 if (frame.empty())...

    Android系统源代码情景分析 PDF 完整版 ZIP.002(二个压缩包)

    ndroid系统源代码情景分析的评论 这本书是我看过的最深入的一本android书了,可以看出作者是一个很有悟性的程序员,很适合需要提高的android框架层工程师进阶。binder部分是目前所有书中分析的最全面的。匿名共享...

    android安卓源代码sdk4.4src

    D:\Program Files (x86)\adt-bundle-windows-x86_64-20130729\sdk\platforms\android-19 步骤三:在这个目录下新建一个 sources的文件夹, 然后把源码放入进去(我上传的是压缩包,你进入到sources的文件夹后解压...

    android系统源代码分析电子书

    7. **权限管理系统**:Android的安全模型基于权限,源代码分析有助于理解权限的授予、检查机制,对于开发安全应用至关重要。 8. **编译与构建系统**:Android使用Build System(如Makefile、Gradle)进行编译和打包...

    android美食天下源代码

    【Android美食天下源代码】项目是一个综合性的移动应用开发实例,专为Android平台设计,旨在提供一个关于美食的全方位互动平台。这个项目不仅包含了客户端应用程序的源代码,还涉及到服务器端的搭建,使得用户可以...

    android日历源代码

    源代码会处理权限请求,确保在Android 6.0及以上版本的设备上运行正常。 8. **多语言支持**:为了实现国际化,源代码可能会使用strings.xml资源文件,以及res/values/下不同语言的目录,来支持多种语言的显示。 9....

Global site tag (gtag.js) - Google Analytics