文档章节

App Manifest

cxlin007
 cxlin007
发布于 2015/09/23 11:12
字数 611
阅读 23
收藏 1

地址:https://developer.android.com/guide/topics/manifest/manifest-intro.html#filestruct

下面显示manifest的结构和包含的每一个元素,每一个元素都有自己的属性

<?xml version="1.0" encoding="utf-8"?>

<manifest>

   
<uses-permission />
   
<permission />
   
<permission-tree />
   
<permission-group />
   
<instrumentation />
   
<uses-sdk />
   
<uses-configuration />  
   
<uses-feature />  
   
<supports-screens />  
   
<compatible-screens />  
   
<supports-gl-texture />  

   
<application>

       
<activity>
           
<intent-filter>
               
<action />
               
<category />
               
<data />
           
</intent-filter>
           
<meta-data />
       
</activity>

       
<activity-alias>
           
<intent-filter> . . . </intent-filter>
           
<meta-data />
       
</activity-alias>

       
<service>
           
<intent-filter> . . . </intent-filter>
           
<meta-data/>
       
</service>

       
<receiver>
           
<intent-filter> . . . </intent-filter>
           
<meta-data />
       
</receiver>

       
<provider>
           
<grant-uri-permission />
           
<meta-data />
           
<path-permission />
       
</provider>

       
<uses-library />

   
</application>

</manifest>

<users-permission>

<uses-permission android:name="string"
       
android:maxSdkVersion="integer" />

为了操作正确必须要请求这个授权权限,当应用安装完后权限就被授予了,不是在运行的时候。

android:maxSdkVersion,可授权的最高版本,这个权限很有用,比如你从某一个版本开始不再需要这个权限

<permission>

<permission android:description="string resource"
           
android:icon="drawable resource"
           
android:label="string resource"
           
android:name="string"
           
android:permissionGroup="string"
           
android:protectionLevel=["normal" | "dangerous" |
                                     
"signature" | "signatureOrSystem"] />

申明一个权限,用于限制访问指定的组件或功能或其他应用。

android:permissionGroup,这个属性值是组的名称,这个名称必须在<permission-group>中申明或是其他的应用中声明,如果没有设置,就不会归类到一个组下。

android:protectionLevel,

                normal,默认值,低风险权限,系统会自动授权这个类型的权限给请求的已安装应用,而不需要显示要求用户授权

                dangerous,高风险权限,因为这类型的权限有潜在风险,系统不会自动授予这类权限,必须显示要求用户确认

                signature,系统只会授予有相同签名的应用,如果签名匹配,系统会自动授予权限

                signatureOrSystem,只有有系统权限或是有同样签名的应用才会授予权限,

<permisson-tree>

<permission-tree android:icon="drawable resource"
                 
android:label="string resource" ]
                 
android:name="string" />

声明了一个权限树的名称,应用能获取树下所有的名称,也能动态添加新的权限。这个元素自己不申明权限,只是一个放置权限的地方

如果基础名字是com.example.project.taxes,添加的权限如下

com.example.project.taxes.CALCULATE 
com.example.project.taxes.deductions.MAKE_SOME_UP 
com.example.project.taxes.deductions.EXAGGERATE

<permisson-group>

<permission-group android:description="string resource"
                 
android:icon="drawable resource"
                 
android:label="string resource"
                 
android:name="string" />

相关权限逻辑上的群组,这个元素不申明权限,只是权限的一个类型

<meta-data>

<meta-data android:name="string"
           
android:resource="resource specification"
           
android:value="string" />

可以用在<activity>\<activity-alias>\<application>\<provider>\<service>

定义了一个name-value的键值对,一个组件下面可以包含任意多个<meta-data>子元素,他们会同意收集到Bundle对象中,就像PackageItemInfo.metaData对象


© 著作权归作者所有

cxlin007

cxlin007

粉丝 2
博文 47
码字总数 28683
作品 0
福州
私信 提问
HTML5::初学者使用 Application Cache 指南

对于web app来说,离线应用功能已经越来越重要。诚然,浏览器本身就有缓存机制,但是,这些缓存机制不够可靠,可能并不会按你所想要的方式运行。HTML5 则通过 Application Cache 接口处理了离...

虫虫
2012/03/18
9.4K
3
使用cordova-app-loader热更新cordova项目

cordova-app-loader是什么? cordova-app-loader是一个用来热更新的cordova手机应用的一个项目,它通过部署一个文件服务器来远程更新安装在用户手机上的cordova手机应用,而不必提交到apple...

外来物种
2016/09/24
1K
7
转载 使对话框程序具有xp 风格

在VS 2003 环境中 1.在工程的目录下建一个名为 xpapp.manifest的文件. 把下面的内容拷到这个文件中:

nothingfinal
2009/09/03
0
0
在Activity生命周期中注册BroadcastReceiver和在配置文件中注册的区别

Setting up a BroadcastReceiver that gets called unnecessarily can be a drain on system resources. The sample application registers the BroadcastReceiver NetworkReceiver in onCre......

logan676
2015/04/26
184
0
有关项目依赖包发生 Manifest Merge 冲突的详细解决方案

安卓开发使用 Gradle 插件管理依赖包确实非常方便,尤其是在解决一些依赖冲突的问题上。比如,重复依赖的问题,具体内容请我之前写的一篇文章: 有关 Android Studio 重复引入包的问题和解决...

亦枫
2017/07/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

java通过ServerSocket与Socket实现通信

首先说一下ServerSocket与Socket. 1.ServerSocket ServerSocket是用来监听客户端Socket连接的类,如果没有连接会一直处于等待状态. ServetSocket有三个构造方法: (1) ServerSocket(int port);...

Blueeeeeee
13分钟前
1
0
用 Sphinx 搭建博客时,如何自定义插件?

之前有不少同学看过我的个人博客(http://python-online.cn),也根据我写的教程完成了自己个人站点的搭建。 点此:使用 Python 30分钟 教你快速搭建一个博客 为防有的同学不清楚 Sphinx ,这...

王炳明
昨天
4
0
黑客之道-40本书籍助你快速入门黑客技术免费下载

场景 黑客是一个中文词语,皆源自英文hacker,随着灰鸽子的出现,灰鸽子成为了很多假借黑客名义控制他人电脑的黑客技术,于是出现了“骇客”与"黑客"分家。2012年电影频道节目中心出品的电影...

badaoliumang
昨天
13
0
很遗憾,没有一篇文章能讲清楚线程的生命周期!

(手机横屏看源码更方便) 注:java源码分析部分如无特殊说明均基于 java8 版本。 简介 大家都知道线程是有生命周期,但是彤哥可以认真负责地告诉你网上几乎没有一篇文章讲得是完全正确的。 ...

彤哥读源码
昨天
13
0
jquery--DOM操作基础

本文转载于:专业的前端网站➭jquery--DOM操作基础 元素的访问 元素属性操作 获取:attr(name);$("#my").attr("src"); 设置:attr(name,value);$("#myImg").attr("src","images/1.jpg"); ......

前端老手
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部