- 浏览: 508128 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
fatherican:
写的好。
Netty 4 源码分析——EventExecutor -
hong52533:
大哥,请问你用 groovy Httpbuilder post ...
groovy 操作http请求 -
DEMONU:
能详细讲讲代码实现就更好了
Activemq中的KahaDB消息日志的恢复机制 -
plmmmmlq:
爱死你了,困惑我几天的问题终于解决了。自定义dialog中加载 ...
解决Android帧动画在Oncreate中启动只显示第一帧 -
517505440:
org.springframework.beans.facto ...
Apache XBean 简单介绍
在android系统的安全模型中,应用程序在默认的情况下不可以执行任何对其他应用程序,系统或者用户带来负面影响的操作。如果应用需要执行某些操作,就需要声明使用这个操作对应的权限。 (在manifest文件中 添加<uses-permission>标记)
android 系统提供了一系列这样的权限,具体可以查看android 权限,另外,android系统在新的版本中会增加一些permission,可以查看android 版本信息。
当然,app也可以自定义属于自己的permission 或属于开发者使用的同一个签名的permission。定义一个permission 就是在menifest文件中添加一个permission标签。
android:description :对权限的描述,一般是两句话,第一句话描述这个权限所针对的操作,第二句话告诉用户授予app这个权限会带来的后果
android:label: 对权限的一个简短描述
android:name :权限的唯一标识,一般都是使用 报名加权限名
android:permissionGroup: 权限所属权限组的名称
android:protectionLevel: 权限的等级,
normal 是最低的等级,声明次权限的app,系统会默认授予次权限,不会提示用户
dangerous 权限对应的操作有安全风险,系统在安装声明此类权限的app时会提示用户
signature 权限表明的操作只针对使用同一个证书签名的app开放
signatureOrSystem 与signature类似,只是增加了rom中自带的app的声明
android:name 属性是必须的,其他的可选,未写的系统会指定默认值
下面通过指定一个BroadcastReceiver的权限来实验
首先创建了两个app,app A ,app B ;
app A中注册了一个BroadcastReceiver ,app B 发送消息
app A的menifest文件:
app B 的menifest 文件内容
这样app B 给app A 发送消息,A就可以收到了,若未在app B的menifest文件中声明使用相应的权限,app B发送的消息,A是收不到的。
另外,也可在app B 的menifest文件中声明权限时,添加android:protectionLevel=“signature”,指定app B只能接收到使用同一证书签名的app 发送的消息。
android 系统提供了一系列这样的权限,具体可以查看android 权限,另外,android系统在新的版本中会增加一些permission,可以查看android 版本信息。
当然,app也可以自定义属于自己的permission 或属于开发者使用的同一个签名的permission。定义一个permission 就是在menifest文件中添加一个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:description :对权限的描述,一般是两句话,第一句话描述这个权限所针对的操作,第二句话告诉用户授予app这个权限会带来的后果
android:label: 对权限的一个简短描述
android:name :权限的唯一标识,一般都是使用 报名加权限名
android:permissionGroup: 权限所属权限组的名称
android:protectionLevel: 权限的等级,
normal 是最低的等级,声明次权限的app,系统会默认授予次权限,不会提示用户
dangerous 权限对应的操作有安全风险,系统在安装声明此类权限的app时会提示用户
signature 权限表明的操作只针对使用同一个证书签名的app开放
signatureOrSystem 与signature类似,只是增加了rom中自带的app的声明
android:name 属性是必须的,其他的可选,未写的系统会指定默认值
下面通过指定一个BroadcastReceiver的权限来实验
首先创建了两个app,app A ,app B ;
app A中注册了一个BroadcastReceiver ,app B 发送消息
app A的menifest文件:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.testbutton" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="7" android:targetSdkVersion="15" /> <!-- 声明权限 --> <permission android:name="com.example.testbutton.RECEIVE" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" launcheMode="singleTask" android:configChanges="locale|orientation|keyboardHidden" android:screenOrientation="portrait" android:theme="@style/android:style/Theme.NoTitleBar.Fullscreen" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <!-- 注册Broadcast Receiver,并指定了给当前Receiver发送消息方需要的权限 --> <receiver android:name="com.example.testbutton.TestButtonReceiver" android:permission="com.example.testbutton.RECEIVE" > <intent-filter> <action android:name="com.test.action" /> </intent-filter> </receiver> </application> </manifest>
app B 的menifest 文件内容
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.testsender" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="7" android:targetSdkVersion="15" /> <!-- 声明使用指定的权限 --> <uses-permission android:name="com.example.testbutton.RECEIVE" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" android:label="@string/title_activity_main" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
这样app B 给app A 发送消息,A就可以收到了,若未在app B的menifest文件中声明使用相应的权限,app B发送的消息,A是收不到的。
另外,也可在app B 的menifest文件中声明权限时,添加android:protectionLevel=“signature”,指定app B只能接收到使用同一证书签名的app 发送的消息。
发表评论
-
Ant使用xmltask替换AndroidManifest.xml文件中的配置
2013-08-19 10:48 7152新的游戏项目上线后,接了很过国内的推广渠道的SDK,其中一 ... -
ADB server didn't ACK
2013-06-27 15:02 2565用数据线连接android手机到pc,却在eclipse中De ... -
解决ADT插件升级22.0.1版本后的问题
2013-06-27 09:12 2254昨天升级了android的开发的eclipse插件adt,升级 ... -
Android链式方法显示Dialog
2013-06-26 17:24 1364发现Android中的AlertDialog原来可以使用方法链 ... -
解决Android帧动画在Oncreate中启动只显示第一帧
2013-06-26 17:18 7040做了个简单的帧动画,在onCreate方法中start,发现只 ... -
Android Too many open files
2013-02-01 22:11 0在eclipse 中运行android项目时提示 Fail ... -
Android 系统启动时自启动一个app
2013-02-01 16:07 9532Android中也可很方便的实现类似windows中的开机启动 ... -
Android中获取设备的IP
2013-01-28 16:47 3882在wifi环境下,可以通过WifiInfo来获取设备的ip ... -
编写App的开场Activity
2013-01-28 16:03 1683在android的app和游戏的应用中,都会有个开场场景,老外 ... -
扩展ImageView使可旋转
2013-01-13 15:19 5355继承ImageView,增加angle属性,重写OnMeasu ... -
eclipse ADT插件安装碰到的错误
2012-04-10 15:21 2473下午换了台机器,重新给eclipse装上ADT插件,过程中碰到 ... -
如何避免android上的进程的内存限制
2011-07-11 11:54 4296The Android framework enforces ... -
解决eclipse中overlaps the location of another project: 'xxxx'
2011-07-05 20:18 36059new -> android project -> ... -
【转】介绍线性代数
2011-06-30 18:42 1359这里转一个别人写的对 ... -
HTC主机序列号S/N解析
2011-06-30 12:10 1616S/N: SSYWWPPZZZZZ SS: 产地代码 HT、 ... -
Android一级目录介绍
2011-06-30 11:17 1211一级目录介绍如下所示: |-- bionic //A ... -
Android /system 目录解析
2011-06-30 11:07 3237android中默认并没有文件管理器,安装第三方文件管理器后, ... -
浅析Android.jar文件中的包
2011-06-30 10:55 1072在Android开发中,绝大部分开发用的工具包都被封装到一个名 ... -
HTC desire (G7) root获取
2011-06-30 10:21 3609为什么要root,这个不用 ... -
Android中TextView的相应属性
2011-06-28 16:29 2104android:autoLink设置是否当 ...
相关推荐
----------------------------------- Android 编程基础 1 封面----------------------------------- Android 编程基础 2 开放手机联盟 --Open --Open --Open --Open Handset Handset Handset Handset Alliance ...
Android自定义悬浮窗 原理很简单,就是借用了WindowManager这个管理类来实现的。 1.首先在AndroidManifest.xml中添加使用权限: uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" 2.二行...
<uses-permission android:name="android.permission.CAMERA" /> <uses-feature android:name="android.hardware.camera" /> <uses-feature android:name="android.hardware.camera.autofocus"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />对应的5种权限,用途如下:网络访问权限,需要联网以便于向小米统计服务端上报统计数据。 查看网络状态,用于根据不同的网络环境,...
<uses android:name=android.permission.CAMERA> <uses android:name=android.permission.FLASHLIGHT> 2.添加依赖 implementation 'cn.yipianfengye.android:zxing-library:2.2' 3.activity_main.xml <?xml ...
< uses-permission android:name="android.permission.CAMERA" /> 功能特点: 1.适配android7.0系统 2.解决部分机型裁剪闪退问题 3.解决图片过大oom闪退问题 4.动态获取系统权限,避免闪退 5.支持相片or视频的单选和...
uses-permission android:name="android.permission.INTERNET" uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" 主要功能: 1.支持设置文字提示 2.支持修改轮播指示器的样式及位置(修改...
xml <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 初始化 如果为初始化会报 RuntimeException: "please invoke...
<uses android:name=android.permission.INTERNET> <uses android:name=android.permission.ACCESS_NETWORK_STATE> 布局文件: <com.youth.banner.Banner android:id=@+id/banner_id android:layout_width=...
xUtils简介 xUtils 包含了很多实用的android工具。...<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
应用启动页自定义跳转计时器View Demo: CircleTextProgressbar.java: package com.demo.startpageskiptimerdemo.widget; import android.content.Context; import android.content.res.ColorStateList; import ...
uses-permission android:name="android.permission.INTERNET"uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"主要功能:1.支持设置文字提示2.支持修改轮播指示器的样式及位置(修改view_...
原本想通过framelayout实现一个悬浮在其他控件上的按钮,但是觉得很麻烦,需要各个界面都要动态填充.于是想到了悬浮窗,就自定一... <uses android:name=android.permission.WRITE_SETTINGS/> 二、通过application获取到
不多说先来看下效果图: 1. 颜色渐变加载进度条(夜神模拟器) 绿色加载进度条(魅蓝note2) 看图说话: 上图是不是加载网页的时候会有一个进度条在...uses-permission android:name=android.permission.INTERNET
使用xUtils快速开发框架需要有以下权限: <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 混淆时注意事项: ...
ijkplayer0.8.8下载地址使用方式如下:声明所需权限,用于播放网络视频和本地视频:<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission....
简介 记录一个利用系统分享功能进行图片分享的工具类(代码是用Kotlin写的,都...<uses android:name=android.permission.WRITE_EXTERNAL_STORAGE/> <uses-permission android:name=android.permission.READ_EXTERNA
<uses android:name=android.permission.READ_EXTERNAL_STORAGE> //读取SD卡权限 <uses android:name=android.permission.WRITE_EXTERNAL_STORAGE> //写入SD卡权限 1.2 简单写一个布局文件,其中用到了...
Android Web服务器(FireFly) 适用于Java的Android的简单和小型TCP / IP Web服务器这是独立的,多线程的,几乎没有依赖性! Java中的http服务器,并在Android中使用示例。... uses - permission android : name =
简介 记录一个利用系统分享功能进行图片分享的工具类(代码是用Kotlin写的,都... <uses android:name=android.permission.WRITE_EXTERNAL_STORAGE/> <uses-permission android:name=android.permission.READ_EXT