`

介绍一下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第二行代码》是郭霖撰写的一本深入浅出的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 开发范例代码大全(第2版)(附源码)

    《Android 开发范例代码大全(第2版)》是一本深入浅出的Android开发实践指南,涵盖了Android应用开发的各个重要方面。这本书以其丰富的范例代码和详细的解释,为开发者提供了宝贵的参考资料,无论是初学者还是有...

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

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

    Android设置虚线、圆角、渐变

    对于径向渐变,只需将`&lt;gradient&gt;`标签内的`type`属性改为`radial`,并添加`android:centerX`、`android:centerY`和`android:gradientRadius`属性来指定渐变中心和半径。 ### 四、综合运用 可以结合以上三种效果,...

    android五子棋源代码

    【Android五子棋源代码详解】 在Android平台上开发游戏,特别是像五子棋这样简单而受欢迎的棋类游戏,是一项有趣的挑战。这个源代码提供了一个基础的五子棋游戏实现,可以帮助开发者理解如何将Android应用与游戏...

    Android开发权威指南源代码

    9. **权限管理**:Android 6.0及以上版本引入了运行时权限管理,源代码会展示如何在应用运行时请求和管理权限。 10. **通知与服务**:Android服务可以长时间在后台运行,而通知则用于与用户交互。源代码会展示如何...

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

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

    Android经典项目开发实战_源代码

    《Android经典项目开发实战》这本书的源代码涵盖了多个Android应用开发的重要知识点,这些代码实例是学习和提升Android编程技能的宝贵资源。以下是基于这些源代码所涉及的关键技术点的详细说明: 1. **Activity与...

    Android应用自动更新代码实现

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

    简单的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应用源代码

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

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

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

Global site tag (gtag.js) - Google Analytics