Android用户权限列表

合集下载

Android权限(permission)整理

Android权限(permission)整理

Android权限(permission)整理在Android的设计中,资源的访问或者⽹络连接,要得到这些服务都需要声明其访问权限,否则将⽆法正常⼯作。

在Android中这样的权限有很多种,这⾥将各类访问权限⼀⼀罗列出来,供⼤家使⽤时参考之⽤。

1.android.permission.WRITE_USER_DICTIONARY允许应⽤程序向⽤户词典中写⼊新词2.android.permission.WRITE_SYNC_SETTINGS写⼊Google在线同步设置3.android.permission.WRITE_SOCIAL_STREAM读取⽤户的社交信息流4.android.permission.WRITE_SMS允许程序写短信5.android.permission.WRITE_SETTINGS允许程序读取或写⼊系统设置6.android.permission.WRITE_SECURE_SETTINGS允许应⽤程序读取或写⼊安全系统设置7.android.permission.WRITE_PROFILE允许程序写⼊个⼈资料数据.android.browser.permission.WRITE_HISTORY_BOOKMARKS允许⼀个应⽤程序写(但不可读)⽤户的浏览历史和书签9.android.permission.WRITE_GSERVICES允许程序修改Google服务地图10.android.permission.WRITE_EXTERNAL_STORAGE允许程序写⼊外部存储,如SD卡上写⽂件11.android.permission.WRITE_CONTACTS写⼊联系⼈,但不可读取12.android.permission.WRITE_CALL_LOG允许程序写⼊(但是不能读)⽤户的联系⼈数据13.android.permission.WRITE_CALENDAR允许程序写⼊⽇程,但不可读取14.android.permission.WRITE_APN_SETTINGS允许程序写⼊⽹络GPRS接⼊点设置15.android.permission.WAKE_LOCK允许程序在⼿机屏幕关闭后后台进程仍然运⾏16.android.permission.VIBRATE允许程序振动E_SIP允许程序使⽤SIP视频服务E_CREDENTIALS允许程序请求验证从AccountManager19.android.permission.UPDATE_DEVICE_STATS允许程序更新设备状态uncher.permission.UNINSTALL_SHORTCUT删除快捷⽅式21.android.permission.TRANSMIT_IR允许使⽤设备的红外发射器,如果可⽤22.android.permission.SYSTEM_ALERT_WINDOW允许程序显⽰系统窗⼝23.android.permission.SUBSCRIBED_FEEDS_WRITE允许程序写⼊或修改订阅内容的数据库24.android.permission.SUBSCRIBED_FEEDS_READ允许程序访问订阅信息的数据库22.android.permission.STATUS_BAR允许程序打开、关闭、禁⽤状态栏23.android.permission.SIGNAL_PERSISTENT_PROCESSES允许程序发送⼀个永久的进程信号24.android.permission.SET_WALLPAPER_HINTS允许程序设置壁纸建议25.android.permission.SET_WALLPAPER允许程序设置桌⾯壁纸26.android.permission.SET_TIME_ZONE允许程序设置系统时区27.android.permission.SET_TIME允许程序设置系统时间28.android.permission.SET_PROCESS_LIMIT允许程序设置最⼤的进程数量的限制29.android.permission.SET_PREFERRED_APPLICATIONS允许程序设置应⽤的参数,已不再⼯作具体查看addPackageToPreferred(String) 介绍30.android.permission.SET_POINTER_SPEED⽆法被第三⽅应⽤获得,系统权限31.android.permission.SET_ORIENTATION允许程序设置屏幕⽅向为横屏或标准⽅式显⽰,不⽤于普通应⽤32.android.permission.SET_DEBUG_APP允许程序设置调试程序,⼀般⽤于开发33.android.permission.SET_ANIMATION_SCALE允许程序设置全局动画缩放34.android.permission.SET_ALWAYS_FINISH允许程序设置程序在后台是否总是退出.android.alarm.permission.SET_ALARM允许程序设置闹铃提醒37.android.permission.SET_ACTIVITY_WATCHER允许程序设置Activity观察器⼀般⽤于monkey测试38.android.permission.SEND_SMS允许程序发送短信39.android.permission.SEND_RESPOND_VIA_MESSAGE允许⽤户在来电的时候⽤你的应⽤进⾏即时的短信息回复。

android 13 androidmanifest 权限申请规则

android 13 androidmanifest 权限申请规则

android 13 androidmanifest 权限申请规则(原创版)目录1.Android 13 概述2.AndroidManifest.xml 文件的作用3.权限申请规则4.权限请求处理的变化5.总结正文【Android 13 概述】Android 13 是谷歌推出的最新版本的 Android 操作系统。

它带来了许多新特性和改进,包括更好的隐私保护和用户控制。

在这个版本中,谷歌对 AndroidManifest.xml 文件中的权限申请规则进行了调整。

【AndroidManifest.xml 文件的作用】AndroidManifest.xml 是 Android 应用程序的清单文件,它包含了应用程序的基本信息和组件声明。

在 AndroidManifest.xml 中声明的权限,是应用程序在运行时需要的一种许可。

这些权限允许应用程序访问设备的某些功能或数据,例如访问通讯录、相机或存储。

【权限申请规则】在 Android 13 中,谷歌对权限申请规则进行了调整,以提高用户的隐私保护。

这些调整包括:1.合并权限:将多个权限合并为一个权限组,以减少应用程序所需的权限请求。

例如,相机和麦克风的权限现在合并为“相机和麦克风”权限组。

2.动态权限:允许应用程序在运行时请求敏感权限,而不是在安装时请求。

这使得用户能够更好地控制应用程序访问敏感数据的时机。

3.强制性权限:对于某些敏感权限,如通讯录和日历,应用程序必须在安装时获得用户的明确授权。

如果用户拒绝授权,应用程序将无法访问这些数据。

【权限请求处理的变化】在 Android 13 中,为了更好地保护用户隐私,谷歌对权限请求的处理方式进行了改进:1.权限请求对话框:当应用程序请求敏感权限时,系统会弹出一个对话框,询问用户是否授权该应用程序访问相关数据或功能。

2.权限管理器:Android 13 引入了一个新的权限管理器,用户可以在其中查看、管理和调整应用程序的权限。

Android权限控制权限监控

Android权限控制权限监控

Android权限管理机制1.Android权限管理。

Android权限来限制一些有限制的特性在应用程序之间以及应用组件访问功能的访问。

在Android的发展,我们将满足网络的需要,我们需要添加所需的网络权限:<uses-permission android:name="android.permission.INTERNET" />在开发中如果我们使用了某个权限,如果没有在AndroidManifest.xml文件中相应申明,那么程序会运行有错误且提示:ng.SecurityException: Permission Denial ...我们可以根据这个错误提示,一般情况下,在AndroidManifest.xml中通过增加相应的uses-permissionAndroid权限列表:在Android官方文档中查寻我们需要使用的权限。

/reference/android/Manifest.permission.html 不同的api有着不同的权限,会出现兼容性问题。

2.Android自定义权限:在有些场合我们或许会碰到如下的场景:用户在应用程序中进行操作时候,要启动另外一个应用程序的时候,我们一般是打开一个应用程序。

并且进入Activity。

有些情况,程序处于安全需要,这些操作就需要加上访问权限。

Android提供了自定义权限功能。

有时候,我们可能遇到如下需求场景:当用户在一个应用程序中进行某项操作时,会启动另假设应用程序。

在A中有MainActivity,应用程序B中有AActivity和BActivity。

现在想通过A中的MainActivity直接打开B中的BActivity。

那么,如果不考虑权限,A中的MainActivity如何直接打开B中的BActivity呢?一般,可以通过如下方式:1 public class MainActivity extends Activity {23 private Button button;45 @Override6 protected void onCreate(Bundle savedInstanceState) {7 super.onCreate(savedInstanceState);8 setContentView(yout.activity_main);910 button = (Button)findViewById(R.id.button);11 button.setOnClickListener(new View.OnClickListener() {12 @Override13 public void onClick(View v) {14 Intent intent = new Intent();15 intent.setClassName("com.example.testandroid", "com.example.testandroid.BActivity");16 startActivity(intent);17 }18 });19 }20 }我们在Intent中的setClass(String packageName, String className)方法,需要注意的是此时需要写上包的全名。

Android添加用户组及自定义App权限的方法

Android添加用户组及自定义App权限的方法

Android添加⽤户组及⾃定义App权限的⽅法Android:4.4.4⼀、应⽤场景在Android设备上,现在我们外接了⼀个USB转串⼝的设备,设备节点是/dev/ttyUSB0:# ls -l /dev/ttyUSB0crw-rw---- 1 root root 188, 0 /dev/ttyUSB0信息显⽰:该设备的⽤户及其所属组别都是root,root的持有者对该设备具有读写权限。

但是,我们的App是被排除在root之外的,总之⽆法读写该设备。

⼀个解决⽅案是:赋予others以读写权限。

但是这样,任何其他第三⽅应⽤都可以访问我们的设备,安全性⼀丝不剩。

另⼀个解决⽅案就是:改变/dev/ttyUSB0所属的⽤户组:crw-rw---- 1 root selfgroup 188, 0 /dev/ttyUSB0哪个App想使⽤该设备,就把它加⼊到selfgroup 组中。

由于权限分发权在我们⼿中,安全性就得到了保障。

⼆、添加⾃定义⽤户组接下来就是怎么添加我们⾃⼰的⽤户组。

在Android中,每⼀个⽤户组都有⼀个唯⼀的ID号,定义在⽂件:system\core\include\private\android_filesystem_config.h/* This is the master Users and Groups config for the platform.* DO NOT EVER RENUMBER*/#define AID_ROOT 0 /* traditional unix root user */#define AID_SYSTEM 1000 /* system server */#define AID_RADIO 1001 /* telephony subsystem, RIL */#define AID_BLUETOOTH 1002 /* bluetooth subsystem */#define AID_GRAPHICS 1003 /* graphics devices */#define AID_INPUT 1004 /* input devices */#define AID_AUDIO 1005 /* audio devices */#define AID_CAMERA 1006 /* camera devices */仿照其添加⾃⼰的ID号(不允许重复)、并赋予它⼀个字符串的名字(后⽂⽤到):/** 第1步 */#define AID_SELF_GROUP 8011/** 第2步 */static const struct android_id_info android_ids[] = {{ "root", AID_ROOT, },{省略 .......................},/** ⾃定义组名 */{{ "selfgroup", AID_SELF_GROUP, },},}然后在Android源码/device⽬录下板级.rc⽂件中:编译boot.img并烧录,重启后查看节点组别已经变成⾃定义的“selfgroup”。

Android(安卓)权限中文描述大全

Android(安卓)权限中文描述大全

Android(安卓)权限中⽂描述⼤全最新,最全,98%官⽅权限中⽂描述.⽹上流传的版本都不全或者描述的很不好,所以花费整整⼀晚上收集整理出来的(JSON格式).{"PermissList":[{"Key":"android.permission.ACCESS_CHECKIN_PROPERTIES","Title":"访问检⼊属性","Memo":"允许对检⼊服务上传的属性进⾏读/写访问。

普通应⽤程序不能使⽤此权限。

","Level":0},{"Key":"android.permission.ACCESS_COARSE_LOCATION","Title":"⼤概位置","Memo":"访问⼤概的位置源(例如蜂窝⽹络数据库)以确定⼿机的⼤概位置(如果可以)。

恶意应⽤程序可借此确定您所处的⼤概位置。

","Level":1},{"Key":"android.permission.ACCESS_FINE_LOCATION","Title":"精准的(GPS)位置","Memo":"访问精准的位置源,例如⼿机上的全球定位系统(如果有)。

恶意应⽤程序可能会借此确定您所处的位置,并可能消耗额外的电池电量。

", "Level":1},{"Key":"android.permission.ACCESS_LOCATION_EXTRA_COMMANDS","Title":"访问额外的位置信息提供程序命令","Memo":"访问额外的位置信息提供程序命令。

android系统中采用的权限安全机制

android系统中采用的权限安全机制

Android系统采用了一套权限安全机制,用于管理和控制应用程序对设备功能和用户数据的访问权限。

以下是Android系统中常见的权限安全机制:
权限声明:Android应用在其清单文件中声明其需要的权限。

这些权限描述了应用需要访问的设备功能和用户数据,如相机、联系人、位置等。

用户在安装应用时会看到权限列表,并决定是否授予应用相应的权限。

运行时权限:自Android 6.0(Marshmallow)开始,引入了运行时权限机制。

对于某些敏感权限,如读取联系人、获取位置信息等,应用必须在运行时向用户请求权限。

用户可以选择授予或拒绝权限请求。

这种机制增强了用户对权限的控制,并提供了更好的隐私保护。

权限组:Android将一些权限分为权限组,这些权限具有相似的功能或访问相同类型的数据。

例如,读取联系人和写入联系人都属于联系人权限组。

当应用请求一个权限组中的权限时,用户只需要授予或拒绝一次,而不需要逐个处理每个权限。

权限回退:在Android 10及更高版本中,引入了权限回退机制。

如果用户在某些权限的请求中选择了"只在使用应用时允许"选项,系统将自动在应用长时间未使用时撤销该权限,以保护用户的隐私和安全。

权限审查:Android系统对应用的权限使用进行审查和监控。

系统会检查应用使用权限的方式,并提示用户或限制应用的行为,以防止滥用权限。

这些权限安全机制帮助确保应用在访问敏感设备功能和用户数据时得到用户的明确授权,并提供了一定程度的隐私保护。

用户可以通过应用权限设置来管理和控制应用的权限,以满足其个人隐私和安全需求。

android权限(permission)大全

android权限(permission)大全

android权限(permission)⼤全1.android.permission.WRITE_USER_DICTIONARY允许应⽤程序向⽤户词典中写⼊新词2.android.permission.WRITE_SYNC_SETTINGS写⼊Google在线同步设置3.android.permission.WRITE_SOCIAL_STREAM读取⽤户的社交信息流4.android.permission.WRITE_SMS允许程序写短信5.android.permission.WRITE_SETTINGS允许程序读取或写⼊系统设置6.android.permission.WRITE_SECURE_SETTINGS允许应⽤程序读取或写⼊安全系统设置7.android.permission.WRITE_PROFILE允许程序写⼊个⼈资料数据.android.browser.permission.WRITE_HISTORY_BOOKMARKS允许⼀个应⽤程序写(但不可读)⽤户的浏览历史和书签9.android.permission.WRITE_GSERVICES允许程序修改Google服务地图10.android.permission.WRITE_EXTERNAL_STORAGE允许程序写⼊外部存储,如SD卡上写⽂件11.android.permission.WRITE_CONTACTS写⼊联系⼈,但不可读取12.android.permission.WRITE_CALL_LOG允许程序写⼊(但是不能读)⽤户的联系⼈数据13.android.permission.WRITE_CALENDAR允许程序写⼊⽇程,但不可读取14.android.permission.WRITE_APN_SETTINGS允许程序写⼊⽹络GPRS接⼊点设置15.android.permission.WAKE_LOCK允许程序在⼿机屏幕关闭后后台进程仍然运⾏16.android.permission.VIBRATE允许程序振动E_SIP允许程序使⽤SIP视频服务E_CREDENTIALS允许程序请求验证从AccountManager19.android.permission.UPDATE_DEVICE_STATS允许程序更新设备状态uncher.permission.UNINSTALL_SHORTCUT删除快捷⽅式21.android.permission.TRANSMIT_IR允许使⽤设备的红外发射器,如果可⽤22.android.permission.SYSTEM_ALERT_WINDOW允许程序显⽰系统窗⼝23.android.permission.SUBSCRIBED_FEEDS_WRITE允许程序写⼊或修改订阅内容的数据库24.android.permission.SUBSCRIBED_FEEDS_READ允许程序访问订阅信息的数据库22.android.permission.STATUS_BAR允许程序打开、关闭、禁⽤状态栏23.android.permission.SIGNAL_PERSISTENT_PROCESSES允许程序发送⼀个永久的进程信号24.android.permission.SET_WALLPAPER_HINTS允许程序设置壁纸建议26.android.permission.SET_TIME_ZONE允许程序设置系统时区27.android.permission.SET_TIME允许程序设置系统时间28.android.permission.SET_PROCESS_LIMIT允许程序设置最⼤的进程数量的限制29.android.permission.SET_PREFERRED_APPLICATIONS允许程序设置应⽤的参数,已不再⼯作具体查看addPackageToPreferred(String) 介绍30.android.permission.SET_POINTER_SPEED⽆法被第三⽅应⽤获得,系统权限31.android.permission.SET_ORIENTATION允许程序设置屏幕⽅向为横屏或标准⽅式显⽰,不⽤于普通应⽤32.android.permission.SET_DEBUG_APP允许程序设置调试程序,⼀般⽤于开发33.android.permission.SET_ANIMATION_SCALE允许程序设置全局动画缩放34.android.permission.SET_ALWAYS_FINISH允许程序设置程序在后台是否总是退出.android.alarm.permission.SET_ALARM允许程序设置闹铃提醒37.android.permission.SET_ACTIVITY_WATCHER允许程序设置Activity观察器⼀般⽤于monkey测试38.android.permission.SEND_SMS允许程序发送短信39.android.permission.SEND_RESPOND_VIA_MESSAGE允许⽤户在来电的时候⽤你的应⽤进⾏即时的短信息回复。

Android的安全与权限

Android的安全与权限

Android的安全与权限Android是一个多进程系统,每一个应用程序(和系统的组成部分)都运行在自己的进程中。

在应用程序和系统间的安全通过标准的Linux设备在进程级被执行,例如被分配给应用程序的用户和组ID。

额外的细粒度安全特性通过“许可”机制来提供,该机制能够对一个指定进程可实现的特定操作进行约束。

安全结构应用程序签名用户标识和文件访问权限命名权限的声明和支持在AndroidManifest.xml文件中支持权限发送广播时支持权限其它权限的支持URI权限Android安全学中的一个重要的设计点是在默认情况下应用程序没有权限执行对其它应用程序、操作系统或用户有害的操作。

这些操作包括读/写用户的隐私数据(例如联系方式或e-mail),读/写其它应用程序的文件,执行网络访问,保持设备活动,等等。

应用程序的进程是一个安全的沙箱。

它不能干扰其它应用程序,除非在它需要添加原有沙箱不能提供的功能时明确声明权限。

这些权限请求能够被不同方式的操作所处理,特别的要基于证书和用户的提示被自动的允许或禁止。

权限的请求在那个应用程序中通过一个应用程序被声明为静态的,所以在此之后在安装时或没有改变时它们会预先知道。

所有的Android应用程序(.apk文件)必须通过一个证书的签名,此证书的私钥必须被开发者所掌握。

这个证书的标识是应用程序的作者。

这个证书不需要通过证书组织的签署:Android应用程序对于使用自签署的证书是完全允许的和特别的。

这个证书仅仅被用于与应用程序建立信任关系,不是为了大规模的控制应用程序可否被安装。

最重要的方面是通过确定能够访问原始签名权限和能够共享用户ID的签名来影响安全。

安装在设备中的每一个Android包文件(.apk)都会被分配给一个属于自己的统一的Linux用户ID,并且为它创建一个沙箱以防止影响其它应用程序(或者其它应用程序影响它)。

用户ID 在应用程序安装到设备中时被分配,并且在这个设备中保持它的永久性。

android 系统用户权限大全

android 系统用户权限大全

android uses-permission权限大全访问登记属性android.permission.ACCESS_CHECKIN_PROPERTIES ,读取或写入登记check -in数据库属性表的权限获取错略位置android.permission.ACCESS_COARSE_LOCATION,通过WiFi或移动基站的方式获取用户错略的经纬度信息,定位精度大概误差在30~1500米获取精确位置android.permission.ACCESS_FINE_LOCATION,通过GPS芯片接收卫星的定位信息,定位精度达10米以内访问定位额外命令android.permission.ACCESS_LOCATION_EXTRA_COMMANDS,允许程序访问额外的定位提供者指令获取模拟定位信息android.permission.ACCESS_MOCK_LOCATION,获取模拟定位信息,一般用于帮助开发者调试应用获取网络状态android.permission.ACCESS_NETWORK_STATE,获取网络信息状态,如当前的网络连接是否有效访问Surface Fling er android.permission.ACCESS_SURFACE_FLINGER,Android平台上底层的图形显示支持,一般用于游戏或照相机预览界面和底层模式的屏幕截图获取WiFi状态android.permission.ACCESS_WIFI_STATE,获取当前WiFi接入的状态以及WLA N热点的信息账户管理android.permission.ACCOUNT_MANAGER,获取账户验证信息,主要为GMail账户信息,只有系统级进程才能访问的权限验证账户android.permission.AUTHENTICATE_ACCOUNTS,允许一个程序通过账户验证方式访问账户管理ACCOUNT_MANAGER相关信息电量统计android.permission.BATTERY_STATS,获取电池电量统计信息绑定小插件android.permission.BIND_APPWIDGET,允许一个程序告诉appWidget服务需要访问小插件的数据库,只有非常少的应用才用到此权限绑定设备管理android.permission.BIND_DEVICE_ADMIN,请求系统管理员接收者receiver,只有系统才能使用绑定输入法android.permission.BIND_INPUT_METHOD ,请求InputMethodService服务,只有系统才能使用绑定RemoteView android.permission.BIND_REMOTEVIEWS,必须通过RemoteViewsService服务来请求,只有系统才能用绑定壁纸android.permission.BIND_WALLPAPER,必须通过WallpaperService服务来请求,只有系统才能用使用蓝牙android.permission.BLUETOOTH,允许程序连接配对过的蓝牙设备蓝牙管理android.permission.BLUETOOTH_ADMIN,允许程序进行发现和配对新的蓝牙设备变成砖头android.permission.BRICK,能够禁用手机,非常危险,顾名思义就是让手机变成砖头应用删除时广播android.permission.BROADCAST_PACKAGE_REMOVED,当一个应用在删除时触发一个广播收到短信时广播android.permission.BROADCAST_SMS,当收到短信时触发一个广播连续广播android.permission.BROADCAST_STICKY,允许一个程序收到广播后快速收到下一个广播WAP PUSH广播android.permission.BROADCAST_WAP_PUSH,WAP PUSH服务收到后触发一个广播拨打电话android.permission.CALL_PHONE,允许程序从非系统拨号器里输入电话号码通话权限android.permission.CALL_PRIVILEGED,允许程序拨打电话,替换系统的拨号器界面拍照权限android.permission.CAMERA,允许访问摄像头进行拍照改变组件状态android.permission.CHANGE_COMPONENT_ENABLED_STATE,改变组件是否启用状态改变配置android.permission.CHANGE_CONFIGURATION,允许当前应用改变配置,如定位改变网络状态android.permission.CHANGE_NETWORK_STATE,改变网络状态如是否能联网改变WiFi多播状态android.permission.CHANGE_WIFI_MULTICAST_STATE,改变WiFi多播状态改变WiFi状态android.permission.CHANGE_WIFI_STATE,改变WiFi状态清除应用缓存android.permission.CLEAR_APP_CACHE,清除应用缓存清除用户数据android.permission.CLEAR_APP_USER_DATA,清除应用的用户数据底层访问权限android.permission.CWJ_GROUP,允许CWJ账户组访问底层信息手机优化大师扩展权android.permission.CELL_PHONE_MASTER_EX,手机优化大师扩展权限限控制定位更新android.permission.CONTROL_LOCATION_UPDATES,允许获得移动网络定位信息改变删除缓存文件android.permission.DELETE_CACHE_FILES,允许应用删除缓存文件删除应用android.permission.DELETE_PACKAGES,允许程序删除应用电源管理android.permission.DEVICE_POWER,允许访问底层电源管理应用诊断android.permission.DIAGNOSTIC,允许程序到RW到诊断资源禁用键盘锁android.permission.DISABLE_KEYGUARD,允许程序禁用键盘锁转存系统信息android.permission.DUMP,允许程序获取系统dump信息从系统服务状态栏控制android.permission.EXPAND_STATUS_BAR,允许程序扩展或收缩状态栏工厂测试模式android.permission.FACTORY_TEST,允许程序运行工厂测试模式使用闪光灯android.permission.FLASHLIGHT,允许访问闪光灯强制后退android.permission.FORCE_BACK,允许程序强制使用back后退按键,无论Acti vity是否在顶层访问账户Gmail列android.permission.GET_ACCOUNTS,访问GMail账户列表表获取应用大小android.permission.GET_PACKAGE_SIZE,获取应用的文件大小获取任务信息android.permission.GET_TASKS,允许程序获取当前或最近运行的应用允许全局搜索android.permission.GLOBAL_SEARCH,允许程序使用全局搜索功能硬件测试android.permission.HARDWARE_TEST,访问硬件辅助设备,用于硬件测试注射事件android.permission.INJECT_EVENTS,允许访问本程序的底层事件,获取按键、轨迹球的事件流安装定位提供android.permission.INSTALL_LOCATION_PROVIDER,安装定位提供安装应用程序android.permission.INSTALL_PACKAGES,允许程序安装应用内部系统窗口android.permission.INTERNAL_SYSTEM_W INDOW,允许程序打开内部窗口,不对第三方应用程序开放此权限访问网络android.permission.INTERNET,访问网络连接,可能产生GPRS流量结束后台进程android.permission.KILL_BACKGROUND_PROCESSES,允许程序调用killBack groundProcesses(String).方法结束后台进程管理账户android.permission.MANAGE_ACCOUNTS,允许程序管理AccountManager中的账户列表管理程序引用android.permission.MANAGE_APP_TOKENS,管理创建、摧毁、Z轴顺序,仅用于系统高级权限android.permission.MTWEAK_USER,允许mTweak用户访问高级系统权限社区权限android.permission.MTWEAK_FORUM,允许使用mTweak社区权限软格式化android.permission.MASTER_CLEAR,允许程序执行软格式化,删除系统配置信息修改声音设置android.permission.MODIFY_AUDIO_SETTINGS,修改声音设置信息修改电话状态android.permission.MODIFY_PHONE_STATE,修改电话状态,如飞行模式,但不包含替换系统拨号器界面格式化文件系统android.permission.MOUNT_FORMAT_FILESYSTEMS,格式化可移动文件系统,比如格式化清空SD卡挂载文件系统android.permission.MOUNT_UNMOUNT_FILESYSTEMS,挂载、反挂载外部文件系统允许NFC通讯android.permission.NFC,允许程序执行NFC近距离通讯操作,用于移动支持永久Activity android.permission.PERSISTENT_ACTIVITY,创建一个永久的Activity,该功能标记为将来将被移除处理拨出电话android.permission.PROCESS_OUTGOING_CALLS,允许程序监视,修改或放弃播出电话读取日程提醒android.permission.READ_CALENDAR,允许程序读取用户的日程信息读取联系人android.permission.READ_CONTACTS,允许应用访问联系人通讯录信息屏幕截图android.permission.READ_FRAME_BUFFER,读取帧缓存用于屏幕截图读取收藏夹和历史记录com.android.browser.permission.READ_HISTORY_BOOKMARKS,读取浏览器收藏夹和历史记录读取输入状态android.permission.READ_INPUT_STATE,读取当前键的输入状态,仅用于系统读取系统日志android.permission.READ_LOGS,读取系统底层日志读取电话状态android.permission.READ_PHONE_STATE,访问电话状态读取短信内容android.permission.READ_SMS,读取短信内容读取同步设置android.permission.READ_SYNC_SETTINGS,读取同步设置,读取Google在线同步设置读取同步状态android.permission.READ_SYNC_STATS,读取同步状态,获得Google在线同步状态重启设备android.permission.REBOOT,允许程序重新启动设备开机自动允许android.permission.RECEIVE_BOOT_COMPLETED,允许程序开机自动运行接收彩信android.permission.RECEIVE_MMS,接收彩信接收短信android.permission.RECEIVE_SMS,接收短信接收Wap Push android.permission.RECEIVE_WAP_PUSH,接收WAP PUSH信息录音android.permission.RECORD_AUDIO,录制声音通过手机或耳机的麦克排序系统任务android.permission.REORDER_TASKS,重新排序系统Z轴运行中的任务结束系统任务android.permission.RESTART_PACKAGES,结束任务通过restartPackage(String)方法,该方式将在外来放弃发送短信android.permission.SEND_SMS,发送短信设置Activity观察其android.permission.SET_ACTIVITY_WATCHER,设置Activity观察器一般用于m onkey测试设置闹铃提醒com.android.alarm.permission.SET_ALARM,设置闹铃提醒设置总是退出android.permission.SET_AL WAYS_FINISH,设置程序在后台是否总是退出设置动画缩放android.permission.SET_ANIMATION_SCALE,设置全局动画缩放设置调试程序android.permission.SET_DEBUG_APP,设置调试程序,一般用于开发设置屏幕方向android.permission.SET_ORIENTATION,设置屏幕方向为横屏或标准方式显示,不用于普通应用设置应用参数android.permission.SET_PREFERRED_APPLICATIONS,设置应用的参数,已不再工作具体查看addPackageT oPreferred(String) 介绍设置进程限制android.permission.SET_PROCESS_LIMIT,允许程序设置最大的进程数量的限制设置系统时间android.permission.SET_TIME,设置系统时间设置系统时区android.permission.SET_TIME_ZONE,设置系统时区设置桌面壁纸android.permission.SET_WALLPAPER,设置桌面壁纸设置壁纸建议android.permission.SET_WALLPAPER_HINTS,设置壁纸建议发送永久进程信号android.permission.SIGNAL_PERSISTENT_PROCESSES,发送一个永久的进程信号状态栏控制android.permission.STATUS_BAR,允许程序打开、关闭、禁用状态栏访问订阅内容android.permission.SUBSCRIBED_FEEDS_READ,访问订阅信息的数据库写入订阅内容android.permission.SUBSCRIBED_FEEDS_WRITE,写入或修改订阅内容的数据库显示系统窗口android.permission.SYSTEM_ALERT_WINDOW,显示系统窗口更新设备状态android.permission.UPDATE_DEVICE_STATS,更新设备状态使用证书E_CREDENTIALS,允许程序请求验证从AccountManage r使用SIP视频E_SIP,允许程序使用SIP视频服务使用振动android.permission.VIBRATE,允许振动唤醒锁定android.permission.WAKE_LOCK,允许程序在手机屏幕关闭后后台进程仍然运行写入GPRS接入点设置android.permission.WRITE_APN_SETTINGS,写入网络GPRS接入点设置写入日程提醒android.permission.WRITE_CALENDAR,写入日程,但不可读取写入联系人android.permission.WRITE_CONTACTS,写入联系人,但不可读取写入外部存储android.permission.WRITE_EXTERNAL_STORAGE,允许程序写入外部存储,如S D卡上写文件写入Google地图数据android.permission.WRITE_GSERVICES,允许程序写入Google Map服务数据写入收藏夹和历史记录com.android.browser.permission.WRITE_HISTORY_BOOKMARKS,写入浏览器历史记录或收藏夹,但不可读取读写系统敏感设置android.permission.WRITE_SECURE_SETTINGS,允许程序读写系统安全敏感的设置项读写系统设置android.permission.WRITE_SETTINGS,允许读写系统设置项编写短信android.permission.WRITE_SMS,允许编写短信写入在线同步设置android.permission.WRITE_SYNC_SETTINGS,写入Google在线同步设置。

android权限管理原理

android权限管理原理

android权限管理原理Android权限管理是指Android系统对应用程序所请求的权限进行管理和控制的机制。

Android系统为了保证用户的隐私和安全,对应用程序的权限进行了严格的管理。

本文将从Android权限管理的原理、权限的分类、权限管理的方式以及权限管理的意义等方面进行阐述。

一、Android权限管理的原理Android权限管理的原理是基于“许可模型”。

当用户安装一个应用程序时,系统会显示该应用所需要的权限列表,用户可以选择是否同意授予这些权限。

当应用程序需要使用某项权限时,系统会检查该权限是否已经被授予,如果权限未被授予,则应用程序无法使用相关功能。

二、权限的分类Android系统将权限分为两大类:普通权限和危险权限。

1. 普通权限:一般不涉及用户隐私和数据安全的权限,系统会自动授予,无需用户确认。

例如访问网络状态、读取手机状态等权限。

2. 危险权限:涉及用户隐私和数据安全的权限,需要用户手动授权。

例如访问通讯录、发送短信等权限。

三、权限管理的方式Android系统提供了多种方式进行权限管理,主要包括以下几种:1. 静态权限管理:在应用程序的清单文件中声明所需的权限,系统会在应用安装时自动授予这些权限。

2. 动态权限管理:应用程序需要使用某项危险权限时,系统会弹出权限请求对话框,用户可以选择是否授权。

应用程序需要在运行时进行权限检查,并处理用户授权结果。

3. 运行时权限管理:Android 6.0及以上版本引入了运行时权限管理机制。

应用程序需要在运行时进行权限检查,并在需要权限时向用户请求授权。

四、权限管理的意义Android权限管理的意义在于保护用户的隐私和数据安全。

通过对应用程序的权限进行管理和控制,可以防止恶意应用程序获取用户的隐私信息,减少对用户隐私的侵犯。

另外,权限管理还可以提高应用程序的安全性,防止恶意应用程序对系统进行攻击。

总结:Android权限管理是保护用户隐私和数据安全的重要机制,通过让用户选择是否授权应用程序所请求的权限,确保应用程序只能在获得用户授权的情况下访问相关功能和数据。

安卓手机权限设置

安卓手机权限设置

Android 是开放式的系统,G1自带的一部分程序可以删除(前提是手机要有ROOT权限),有的坚决不能删除,注意:手机删除自带程序后有的系统可能会失去硬启功能,如果系统出问题只能刷机解决,(如果备份了系统,可以进行系统恢复),想删除自带程序的朋友必须学会刷机。

我们要用到Root Explorer (高级资源管理器,百度中可以下载到),这个软件要求手机有权限,Root Explorer 的软件安装后,打开会弹出提示,这时候选择“总是同意”如何出现文件夹(没出现,就要重启,应该重启一次,我的就是)接着在文件目录中找到“system”文件夹和“data”文件夹并点击进入。

进入“system”文件夹后再进入“APP”文件夹这时候大家就会看到这里有很多以APk结尾的文件;首先要先点击下右上角的Remount as R/W ,点击后这个按钮就会变成Remount as R/O。

这就说明我们已经获取读写权限了!以系统自带的平衡球游戏—Teeter为例。

我们要先找到Teeter.apk。

然后长按文件名就会弹出对话框,选择Delete就可以删除该程序了,当程序弹出对话框件,选择Y es ,用同样的方法进入“data”文件夹里的“data”文件夹删除Teeter.odex文件。

(记住删除俩个哦)当Teeter.apk与Teeter.odex这两个文件都被删除,system”里还有个media文件夹,media文件夹里还有四个文件夹,是铃声,短信,闹钟,相机声音文件夹,我可以把四个文件夹复制到SD的根目录下(复制到卡后,可以保留几闹钟音和相机声音,其他的铃音删除后,把自己喜欢的放进来OK,提醒:相机声音会很小,几乎听不见,其他还可以,),然后可以把整个media文件夹删除,这样大家就可以把自己喜欢的mp3歌曲当铃声了(记得你要先把那四个文件复制到sdcard里啊)退出时注意:我们还要再点击下Remount as R/O把读取权限改为只读,以免误操作!重启手机,看看是不是有变化。

requestpermissions 先后顺序

requestpermissions 先后顺序

requestpermissions 先后顺序在Android开发中,我们常常会遇到需要获取用户权限的情况。

在Android系统中,权限的获取是一个重要且必不可少的一环。

本文将介绍Android中权限获取的先后顺序。

一、权限的概念Android系统中的权限用于保护用户的隐私和系统的安全。

开发者在应用程序中使用敏感或系统级的功能时,需要先征得用户的同意并在AndroidManifest.xml文件中申请相应的权限。

二、请求权限的方法Android系统提供了一套API用于请求用户权限,即RequestPermissions。

开发者可以在需要获取权限的地方调用该API,并传入相应的权限列表。

下面是请求权限的示例代码:```javaString[] permissions = {Manifest.permission.CAMERA,Manifest.permission.WRITE_EXTERNAL_STORAGE};int requestCode = 1;requestPermissions(permissions, requestCode);```三、权限请求的先后顺序在请求权限时,一定要注意权限的先后顺序。

由于用户很可能会拒绝某些权限,因此我们需要先请求必要的权限,然后再请求次要的权限。

这样,即使用户拒绝了某些权限,应用程序仍然能够正常运行。

以下是权限请求的先后顺序的一个参考示例:1. 相机权限:如果应用程序需要使用相机功能,应该首先请求相机权限。

2. 存储权限:如果应用程序需要访问外部存储,如SD卡上的文件,应该在相机权限之后请求存储权限。

3. 位置权限:如果应用程序需要获取设备的位置信息,应该在存储权限之后请求位置权限。

需要根据应用程序的实际需求,合理安排权限的请求顺序。

四、权限请求的结果处理当用户同意或拒绝权限请求时,系统会自动回调应用程序的onRequestPermissionsResult方法。

Android应用程序的权限管理与隐私保护

Android应用程序的权限管理与隐私保护

Android应用程序的权限管理与隐私保护随着智能手机的普及,Android应用程序的使用越来越广泛。

然而,与此同时,我们也面临着隐私泄露的风险。

为了保护用户的隐私,Android系统引入了权限管理机制。

本文将探讨Android应用程序的权限管理与隐私保护。

一、权限管理的重要性权限管理是Android系统中的一项重要功能,它允许用户选择应用程序能够访问哪些资源和执行哪些操作。

例如,一个社交媒体应用程序可能需要访问用户的联系人列表和相册,而一个游戏应用程序可能需要访问用户的位置信息。

通过权限管理,用户可以控制应用程序对自己隐私的访问程度,从而保护个人信息的安全。

二、权限分类与授权机制Android系统将权限分为两类:普通权限和危险权限。

普通权限是指应用程序需要的一些基本权限,如访问网络、读取设备状态等。

这些权限在应用程序安装时自动授予,用户无需进行确认。

危险权限是指可能涉及用户隐私的权限,如读取联系人、获取位置信息等。

这些权限需要用户在应用程序运行时进行确认,用户可以选择授权或拒绝。

Android系统的权限授权机制使用了运行时权限模型。

当应用程序需要访问危险权限时,系统会弹出一个对话框,询问用户是否授权。

用户可以选择授权或拒绝。

如果用户选择拒绝,应用程序将无法访问相关权限,但仍可正常使用其他功能。

三、隐私保护的挑战尽管Android系统提供了权限管理机制,但隐私保护仍然面临一些挑战。

首先,一些应用程序可能滥用权限,收集用户的个人信息并用于商业目的。

其次,一些应用程序可能存在漏洞,导致用户的隐私信息被黑客攻击窃取。

此外,一些应用程序可能通过与其他应用程序共享数据,间接泄露用户的隐私。

为了应对这些挑战,用户需要保持警惕。

在安装应用程序时,应仔细阅读权限列表,并考虑应用程序所需权限是否合理。

此外,用户还可以通过安装安全软件来检测应用程序的行为,防止隐私泄露。

四、用户隐私保护的建议为了更好地保护用户隐私,除了权限管理外,我们还可以采取以下措施:1. 定期审查应用程序权限:在设置中,可以找到应用程序权限管理的选项。

Android权限列表permission说明

Android权限列表permission说明

Android权限分的很细,但命名比较人性化,Android permission比Symbian Capabilities有了不少改进,下面就来看看权限许可都有哪些定义吧,发现还是比较繁多的,如果发现你的程序某个地方调试错误很可能是Android permission的访问控制在作怪,这也是为了安全防止手机成为病毒的场所。

Android开发网获取到的消息来看不用购买高昂的数字签名证书,权限许可权由用户决定而不是手机制造商和平台提供商,这一点不得不说明为Android开发人员着想,下面的信息都是需要添加在androidmanifest.xml文件中。

ACCESS_COARSE_LOCATION是有关错略的位置信息获取,比如说MyLocation API调用获取的Cellid等定位信息必需添加android.permission.ACCESS_COARSE_LOCATION这个声明ACCESS_FINE_LOCATION、ACCESS_LOCATION_EXTRA_COMMANDS、ACCESS_MOCK_LOCATION是有关GPS定位获取的信息使用GPS LocationProvider类的相关定位信息必需声明android.permission.ACCESS_FINE_LOCATION、android.permission.ACCESS_LOCATION_EXTRA_COMMANDS和android.permission.ACCESS_MOCK_LOCATIONACCESS_NETWORK_STATE是获取网络状态的权限控制,如果获取当前GSM网络相关信息必需在androidmanifest.xml中声明android.permission.ACCESS_NETWORK_STATE这句。

ACCESS_SURFACE_FLINGER是使用SurfaceFlinger底层API的令牌,必需声明android.permission.ACCESS_SURFACE_FLINGERACCESS_WIFI_STATE权限可以获取使用Wi-Fi等WLAN无线网络,加入android.permission.ACCESS_WIFI_STATE这句ADD_SYSTEM_SERVICE是系统服务数据库的管理权限,比如添加一个系统服务必需声明android.permission.ADD_SYSTEM_SERVICEBATTERY_STATS是获取Android平台上电池设备的权限令牌,必需声明android.permission.BATTERY_STATS才可以获得电池信息BLUETOOTH蓝牙信息类,获取相关的蓝牙信息必声明android.permission.BLUETOOTHBLUETOOTH_ADMIN是蓝牙管理权限包含了身份安全认证,必需添加android.permission.BLUETOOTH_ADMIN类BRICK"android.permission.BRICK"BROADCAST_PACKAGE_REMOVED是广播包移除类权限,可以移除指定的系统消息,必需声明android.permission.BROADCAST_PACKAGE_REMOVED这句BROADCAST_STICKY"android.permission.BROADCAST_STICKY"CALL_PHONE是允许Android手机拨打电话时使用的权限"android.permission.CALL_PHONE"CALL_PRIVILEGED"android.permission.CALL_PRIVILEGED"CAMERA是摄像头权限控制,可以管理照相功能的启用"android.permission.CAMERA"CHANGE_COMPONENT_ENABLED_STATE"android.permission.CHANGE_COMPONENT_ENABLED_STATE"CHANGE_CONFIGURATION是控制Android系统设置等敏感信息的权限,修改时必需有android.permission.CHANGE_CONFIGURATION声明。

如何进行Android应用的用户权限和隐私测试

如何进行Android应用的用户权限和隐私测试

如何进行Android应用的用户权限和隐私测试随着Android应用的普及,用户对应用程序的隐私和数据安全越来越关注。

为了保护用户的个人信息和隐私,开发人员需要对应用程序进行用户权限和隐私测试。

本文将介绍如何进行Android应用的用户权限和隐私测试的步骤和方法。

一、用户权限测试用户权限是Android应用程序在运行时访问用户设备和个人信息的许可。

开发人员需要确保应用程序只请求并获取其所需的权限,并且权限的使用是合理和安全的。

以下是进行用户权限测试的步骤:1. 权限收集:开发人员需要了解应用程序使用的权限列表。

可以通过检查应用程序的清单文件或使用权限管理工具来收集权限信息。

2. 权限分析:对于每个权限,开发人员需要分析其是否合理和必要。

不必要的权限可能会导致用户信息泄露和安全漏洞。

3. 权限请求:测试时,模拟用户使用应用程序,并观察应用程序的权限请求。

确保权限请求与应用程序功能的合理性和一致性。

4. 权限授予:应用程序在获取权限后,需要检查权限是否正确授予或拒绝。

测试时可以模拟用户拒绝权限请求,并验证应用程序的行为是否准确和合理。

二、隐私测试隐私测试是确保应用程序在处理用户个人数据时能够保护用户隐私和数据安全的过程。

以下是进行隐私测试的步骤:1. 数据收集:开发人员需要了解应用程序收集的个人数据类型和用途。

可以检查应用程序的隐私政策或使用数据监测工具收集数据信息。

2. 数据保护:测试时,检查应用程序是否采取适当的安全措施来保护用户的个人数据,例如加密传输、数据存储加密等。

3. 数据使用:开发人员需要确保应用程序只使用用户数据于合法的目的,并遵守法律法规和隐私政策。

4. 数据共享:测试时,验证应用程序是否明确告知用户有关数据共享的信息,并根据用户的选择进行数据共享。

三、其他测试事项除了用户权限和隐私测试,还应进行其他相关的测试事项,以确保应用程序的整体质量和安全性:1. 安全漏洞测试:测试应用程序是否存在常见的安全漏洞,并修复和预防这些漏洞,例如跨站脚本攻击、SQL注入等。

Android权限列表permission说明

Android权限列表permission说明

Android权限列表permission说明public static final String BROADCAST_PACKAGE_REMOVED允许应用程序发出一个应用程序被删除的通知。

常量值:"android.permission.BROADCAST_PACKAGE_REMOVED"public static final String CALL_PHONE允许应用程序发起一个电话呼叫而不需要经拨号器用户界面确认。

常量值:"android.permission.CALL_PHONE"public static final String DUMP允许应用程序从系统服务获取状态存储信息。

常量值:"android.permission.DUMP"public static final String FOTA_UPDATE常量值:"android.permission.FOTA_UPDATE"public static final String GET_TASKS允许应用程序获得当前运行任务的信息:任务的简短描述,运行着什么activity等。

常量值:"android.permission.GET_TASKS"public static final String INSTALL_PACKAGES允许应用程序安装包。

常量值:"android.permission.INSTALL_PACKAGES"public static final String INTERNAL_SYSTEM_WINDOW允许应用程序打开作为系统用户界面的一部分的窗口。

常量值:"android.permission.INTERNAL_SYSTEM_WINDOW"public static final String RAISED_THREAD_PRIORITY允许应用程序获取提升的线程优先级,例如实时音频重放。

系统用户权限设置模板

系统用户权限设置模板

系统用户权限设置模板一、用户权限分类系统用户权限设置是指对系统中的不同用户分配相应的权限,以便确保用户在系统中只能进行其职责所需要的操作。

根据用户的角色和职责不同,将用户权限分类如下:1. 管理员权限:拥有最高级别的权限,可以对系统进行维护、管理和配置操作,包括用户管理、权限设置和系统设置等。

2. 高级用户权限:具有较高级别的权限,可以对系统中的关键功能进行操作,例如数据备份、导出和导入等。

3. 普通用户权限:拥有常规操作权限,可以对系统中的基本功能模块进行浏览、查询、新增、修改和删除等操作。

4. 只读用户权限:只具备查看和浏览系统中的数据和报告的权限,没有修改或删除数据的权限。

二、用户权限设置流程用户权限设置的流程通常分为以下几个步骤:1. 用户身份认证:用户登录系统后,需进行身份认证,确保用户身份的合法性和安全性。

2. 用户角色确定:根据用户的职责和所属部门,确定其角色分类,例如管理员、高级用户、普通用户或只读用户等。

3. 权限分配:根据用户角色,将相应的权限分配给用户。

将不同权限按功能模块进行分类,确保权限的合理性和精确性。

4. 权限审核:权限分配完成后,需要进行权限审核,通过系统管理员或相关负责人进行审核,确保权限的合规性和安全性。

5. 权限更新与维护:权限分配后,随着系统和用户需求的变化,需要及时更新和维护权限,确保权限与用户实际职责的匹配。

三、用户权限设置模板示例下面是一个用户权限设置模板示例,以便更好地理解用户权限设置的内容和格式:用户角色:管理员权限设置:1. 用户管理权限:- 新增用户:可以新增系统用户并设置其相关权限。

- 修改用户:可以修改系统用户的基本信息和权限设置。

- 删除用户:可以删除系统中的用户信息。

- 密码重置:可以重置用户的登录密码。

2. 权限管理权限:- 分配权限:可以给用户分配相应的权限。

- 修改权限:可以修改用户的权限设置。

- 审核权限:可以审核用户权限的合规性。

Android如何完整的获取到用户已安装应用列表

Android如何完整的获取到用户已安装应用列表

Android如何完整的获取到用户已安装应用列表接到产品经理的预研需求,说希望获取用户已安装应用列表。

这个问题应该不难,只要是要把相关的知识点整理和验证一下。

对于获取用户已安装应用列表,我个人是很熟悉的,因为我的华为手机上,手机管家天天会在通知栏弹出”xxx应用尝试获取用户已安装应用列表被禁止”。

所以,很明显,跟权限是有关系的。

于是,我尝试去查找到底是manifest清单中的哪一个use-permission引起。

结果,找了很久,翻了很久,并没有哪个权限对已安装的应用列表负责。

但奇怪的是,我的手机上几乎全部的软件都声明了这个权限。

于是,尝试去求助其他组员,咨询了几个,不少人一脸懵逼的表示这是个什么玩意。

在他们的手机上压根就没有见过这个东西。

在写demo验证的过程中,发现非常简单的一个demo,居然也声明使用了该权限。

一开始怀疑,难道是检测到了相关代码自动申请了权限?发现全部注释后还是会声明。

后来,将清单文件中的唯一的访问Internet权限去掉,这样才正常。

所以,得出了一个结论就是,国内部分厂商比如华为、oppo,他们将”获取用户已安装应用列表”的权限暴露给了用户,让用户可以自由决定允许或者禁止应用访问该信息。

同时,这个权限类似于附加的默认权限,一旦app声明了任何权限,那么”获取用户已安装应用列表”的权限也会被附加进来。

但这个权限也不是太敏感,所以对于用户是无感知的。

这里的无感知指的是不会在应用中去主动让我们弹窗申请权限,手机管家弹出的通知不算。

好吧,说了这么多,看一下过程中的3种方案。

方案1private void getAppList() {PackageManager pm = getPackageManager();// Return a List of all packages that are installed on the device.List<PackageInfo> packages = pm.getInstalledPackages(0);for (PackageInfo packageInfo : packages) {// 判断系统/非系统应用if ((packageInfo.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 0) // 非系统应用{System.out.println("MainActivity.getAppList, packageInfo=" + packageInfo.packageName);} else {// 系统应用}}}此方法在华为、oppo手机上,把权限禁止后,就不能正确获取到已安装应用列表了。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

我们在安装Android软件的时候,系统会提示该软件所需要的权限,相对于其他系统,android的权限非常多。

我们在开发软件的时候,也需要声明相应的权限,比如希望软件能发短信,需要声明软件调用短信的权限,否则软件运行的时候就会报错。

Android的权限在AndroidManifest.xml文件里配置。

AndroidManifest文件中有四个标签与permission有关,它们分别是 <permission>、 <permission-group> 、<permission-tree> 和 <uses-permission>。

其中最常用的是 <uses-permission>,当我们需要获取某个权限的时候就必须在我们的manifest文件中声明<uses-permission>。

[html]view plain copy1.<span style="font-size:16px;"><?xml version="1.0"encoding="utf-8"?>2.<manifest>3.<application>4.</application>5.6.<uses-permission/>7.<permission/>8.<permission-tree/>9.<permission-group/>10. ...11.</manifest>12.</span><permission>和 <uses-permission>的作用相似,两者之间的不同之处,<uses-permission>是android预定义的权限,<permission>是自己定义的权限。

<permission>用的相对较少,<permission-group> <permission-tree>这两个标签就更少见了,简单说<permission-group> 就是声明一个标签,该标签代表了一组permissions,而<permission-tree>是为一组permissions声明了一个namespace。

后面三个标签具体使用方法见后续文章。

<permission>定义方法如下:1.<span style="font-size:16px;"><permission android:description="string resource"2.android:icon="drawable resource"3.android:label="string resource"4.android:name="string"5.android:permissionGroup="string"6.android:protectionLevel=["normal" | "dangerous" |7. "signature" | "signatureOrSystem"] />8.</span>上面代码来自官方文档:/guide/topics/manifest/permission-element.html。

propectionLevel这个属性是必须声明,告诉系统通知用户的应用要求许可,或允许谁认为获得许可的情况下。

permissionGroup这个是可选的,与<permission-group>配合使用。

label, name和icon用于描述权限。

<permission>的用法后面也会再详细分析。

<uses-permission>是我们用的最多的,官方文档定义方式如下:<uses-permission android:name="string"/>例如,短信和电话权限的定义:<uses-permission android:name="android.permission.CALL_PHONE"/> <uses-permission android:name="android.permission.SEND_SMS"/>下面是收集到的 <uses-permission>的资料,方便用的时候查找:android.permission.ACCESS_CHECKIN_PROPERTIES允许读写访问”properties”表在checkin数据库中,改值可以修改上传( Allowsread/write access to the “properties” table in the checkin database, to changevalues that get uploaded)android.permission.ACCESS_COARSE_LOCATION允许一个程序访问CellID或WiFi热点来获取粗略的位置(Allowsan application to access coarse (e.g., Cell-ID, WiFi) location)android.permission.ACCESS_FINE_LOCATION允许一个程序访问精良位置(如GPS) (Allows an application to accessfine (e.g., GPS) location)android.permission.ACCESS_LOCATION_EXTRA_COMMANDS允许应用程序访问额外的位置提供命令(Allowsan application to access extra location provider commands)android.permission.ACCESS_MOCK_LOCATION允许程序创建模拟位置提供用于测试(Allowsan application to create mock location providers for testing)android.permission.ACCESS_NETWORK_STATE允许程序访问有关GSM网络信息(Allows applications to accessinformation about networks)android.permission.ACCESS_SURFACE_FLINGER允许程序使用SurfaceFlinger底层特性(Allows an application to useSurfaceFlinger’s low level features)android.permission.ACCESS_WIFI_STATE允许程序访问Wi-Fi网络状态信息(Allows applications to accessinformation about Wi-Fi networks)android.permission.ADD_SYSTEM_SERVICE允许程序发布系统级服务(Allowsan application to publish system-level services).android.permission.BATTERY_STATS允许程序更新手机电池统计信息(Allowsan application to update the collected battery statistics)android.permission.BLUETOOTH允许程序连接到已配对的蓝牙设备(Allowsapplications to connect to paired bluetooth devices)android.permission.BLUETOOTH_ADMIN允许程序发现和配对蓝牙设备(Allowsapplications to discover and pair bluetooth devices)android.permission.BRICK请求能够禁用设备(非常危险)(Required to be able to disable thedevice (very*erous!).)android.permission.BROADCAST_PACKAGE_REMOVED允许程序广播一个提示消息在一个应用程序包已经移除后(Allowsan application to broadcast a notification that an applicationpackage has been removed)android.permission.BROADCAST_STICKY允许一个程序广播常用intents(Allowsan application to broadcast sticky intents)android.permission.CALL_PHONE允许一个程序初始化一个电话拨号不需通过拨号用户界面需要用户确认(Allowsan application to initiate a phone call without going through the Dialer userinterface for the user to confirm the call being placed.)android.permission.CALL_PRIVILEGED允许一个程序拨打任何号码,包含紧急号码无需通过拨号用户界面需要用户确认(Allowsan application to call any phone number, including emergency numbers, withoutgoing through the Dialer user interface for the user to confirm the call beingplaced)android.permission.CAMERA请求访问使用照相设备(Requiredto be able to access the camera device. )android.permission.CHANGE_COMPONENT_ENABLED_STATE允许一个程序是否改变一个组件或其他的启用或禁用(Allowsan application to change whether an application component (other than its own)is enabled or not. )android.permission.CHANGE_CONFIGURATION允许一个程序修改当前设置,如本地化(Allowsan application to modify the current configuration, such as locale. )android.permission.CHANGE_NETWORK_STATE允许程序改变网络连接状态(Allowsapplications to change network connectivity state)android.permission.CHANGE_WIFI_STATE允许程序改变Wi-Fi连接状态(Allows applications to change Wi-Ficonnectivity state)android.permission.CLEAR_APP_CACHE允许一个程序清楚缓存从所有安装的程序在设备中(Allowsan application to clear the caches of all installed applications on the device.)android.permission.CLEAR_APP_USER_DATA允许一个程序清除用户设置(Allowsan application to clear user data)android.permission.CONTROL_LOCATION_UPDATES允许启用禁止位置更新提示从无线模块(Allowsenabling/disabling location update notifications from the radio. )android.permission.DELETE_CACHE_FILES允许程序删除缓存文件(Allowsan application to delete cache files)android.permission.DELETE_PACKAGES允许一个程序删除包(Allowsan application to delete packages)android.permission.DEVICE_POWER允许访问底层电源管理(Allowslow-level access to power management)android.permission.DIAGNOSTIC允许程序RW诊断资源(Allows applications to RW to diagnosticresources. )android.permission.DISABLE_KEYGUARD允许程序禁用键盘锁(Allowsapplications to disable the keyguard )android.permission.DUMP允许程序返回状态抓取信息从系统服务(Allowsan application to retrieve state dump information from system services.)android.permission.EXPAND_STATUS_BAR允许一个程序扩展收缩在状态栏,android开发网提示应该是一个类似Windows Mobile中的托盘程序(Allows an application to expand orcollapse the status bar. )android.permission.FACTORY_TEST作为一个工厂测试程序,运行在root用户(Run as a manufacturer test application,running as the root user. )android.permission.FLASHLIGHT访问闪光灯,android开发网提示HTC Dream不包含闪光灯(Allowsaccess to the flashlight )android.permission.FORCE_BACK允许程序强行一个后退操作是否在顶层activities(Allowsan application to force a BACK operation on whatever is the top activity. )android.permission.FOTA_UPDATE暂时不了解这是做什么使用的,android开发网分析可能是一个预留权限.android.permission.GET_ACCOUNTS访问一个帐户列表在AccountsService中(Allows access to thelist of accounts in the Accounts Service)android.permission.GET_PACKAGE_SIZE允许一个程序获取任何package占用空间容量(Allows an application to find out thespace used by any package. )android.permission.GET_TASKS允许一个程序获取信息有关当前或最近运行的任务,一个缩略的任务状态,是否活动等等(Allowsan application to get information about the currently or recently runningtasks: a thumbnail representation of the tasks, what activities are running init, etc.)android.permission.HARDWARE_TEST允许访问硬件(Allowsaccess to hardware peripherals. )android.permission.INJECT_EVENTS允许一个程序截获用户事件如按键、触摸、轨迹球等等到一个时间流,android 开发网提醒算是hook技术吧(Allowsan application to inject user events (keys, touch, trackball) into the eventstream and deliver them to ANY window.)android.permission.INSTALL_PACKAGES允许一个程序安装packages(Allowsan application to install packages. )android.permission.INTERNAL_SYSTEM_WINDOW允许打开窗口使用系统用户界面(Allowsan application to open windows that are for use by parts of the system userinterface. )android.permission.INTERNET允许程序打开网络套接字(Allowsapplications to open network sockets)android.permission.MANAGE_APP_TOKENS允许程序管理(创建、催后、 z- order默认向z轴推移)程序引用在窗口管理器中(Allowsan application to manage (create, destroy, Z-order) application tokens in thewindow manager. )android.permission.MASTER_CLEAR目前还没有明确的解释,android开发网分析可能是清除一切数据,类似硬格机android.permission.MODIFY_AUDIO_SETTINGS允许程序修改全局音频设置(Allowsan application to modify global audio settings)android.permission.MODIFY_PHONE_STATE允许修改话机状态,如电源,人机接口等(Allowsmodification of the telephony state – power on, mmi, etc. )android.permission.MOUNT_UNMOUNT_FILESYSTEMS允许挂载和反挂载文件系统可移动存储(Allowsmounting and unmounting file systems for removable storage. )android.permission.PERSISTENT_ACTIVITY允许一个程序设置他的activities显示(Allow an application to make itsactivities persistent. )android.permission.PROCESS_OUTGOING_CALLS允许程序监视、修改有关播出电话(Allowsan application to monitor, modify, or abort outgoing calls)android.permission.READ_CALENDAR允许程序读取用户日历数据(Allowsan application to read the user’s calendar data.)android.permission.READ_CONTACTS允许程序读取用户联系人数据(Allowsan application to read the user’s contacts data.)android.permission.READ_FRAME_BUFFER允许程序屏幕波或和更多常规的访问帧缓冲数据(Allowsan application to take screen shots and more generally get access to the framebuffer data)android.permission.READ_INPUT_STATE允许程序返回当前按键状态(Allowsan application to retrieve the current state of keys and switches. )android.permission.READ_LOGS允许程序读取底层系统日志文件(Allowsan application to read the low-level system log files. )android.permission.READ_OWNER_DATA允许程序读取所有者数据(Allowsan application to read the owner’s data)android.permission.READ_SMS允许程序读取短信息(Allowsan application to read SMS messages.)android.permission.READ_SYNC_SETTINGS允许程序读取同步设置(Allowsapplications to read the sync settings)android.permission.READ_SYNC_STATS允许程序读取同步状态(Allowsapplications to read the sync stats)android.permission.REBOOT请求能够重新启动设备(Requiredto be able to reboot the device. )android.permission.RECEIVE_BOOT_COMPLETED允许一个程序接收到ACTION_BOOT_COMPLETED广播在系统完成启动(Allowsan application to receive the ACTION_BOOT_COMPLETED that is broadcast after thesystem finishes booting. )android.permission.RECEIVE_MMS允许一个程序监控将收到MMS彩信,记录或处理(Allowsan application to monitor incoming MMS messages, to record or performprocessing on them. )android.permission.RECEIVE_SMS允许程序监控一个将收到短信息,记录或处理(Allowsan application to monitor incoming SMS messages, to record or performprocessing on them.) android.permission.RECEIVE_WAP_PUSH允许程序监控将收到WAPPUSH信息(Allows an applicationto monitor incoming WAP push messages. )android.permission.RECORD_AUDIO允许程序录制音频(Allowsan application to record audio)android.permission.REORDER_TASKS允许程序改变Z轴排列任务(Allows an application to change theZ-order of tasks)android.permission.RESTART_PACKAGES允许程序重新启动其他程序(Allowsan application to restart other applications)android.permission.SEND_SMS允许程序发送SMS短信(Allows an application to send SMSmessages)android.permission.SET_ACTIVITY_WATCHER允许程序监控或控制activities已经启动全局系统中(Allows an application to watch andcontrol how activities are started globally in the system.)android.permission.SET_ALWAYS_FINISH允许程序控制是否活动间接完成在处于后台时(Allowsan application to control whether activities are immediately finished when putin the background.)android.permission.SET_ANIMATION_SCALE修改全局信息比例(Modifythe global animation scaling factor.)android.permission.SET_DEBUG_APP配置一个程序用于调试(Configurean application for debugging.)android.permission.SET_ORIENTATION允许底层访问设置屏幕方向和实际旋转(Allowslow-level access to setting the orientation (actually rotation) of the screen.)android.permission.SET_PREFERRED_APPLICATIONS允许一个程序修改列表参数PackageManager.addPackageToPreferred()和PackageManager.removePackageFromPreferred()方法(Allowsan application to modify the list of preferred applications withthePackageManager.addPackageToPreferred()andPackageManager.removePackageFromPreferred() methods.)android.permission.SET_PROCESS_FOREGROUND允许程序当前运行程序强行到前台(Allowsan application to force any currently running process to be in the foreground.)android.permission.SET_PROCESS_LIMIT允许设置最大的运行进程数量(Allowsan application to set the maximum number of (not needed) application processesthat can be running. )android.permission.SET_TIME_ZONE允许程序设置时间区域(Allowsapplications to set the system time zone)android.permission.SET_WALLPAPER允许程序设置壁纸(Allowsapplications to set the wallpaper )android.permission.SET_WALLPAPER_HINTS允许程序设置壁纸hits(Allowsapplications to set the wallpaper hints)android.permission.SIGNAL_PERSISTENT_PROCESSES允许程序请求发送信号到所有显示的进程中(Allowan application to request that a signal be sent to all persistent processes)android.permission.STATUS_BAR允许程序打开、关闭或禁用状态栏及图标Allowsan application to open, close, or disable the status bar and its icons.android.permission.SUBSCRIBED_FEEDS_READ允许一个程序访问订阅RSSFeed内容提供(Allows an applicationto allow access the subscribed feeds ContentProvider. )android.permission.SUBSCRIBED_FEEDS_WRITE系统暂时保留改设置,android开发网认为未来版本会加入该功能。

相关文档
最新文档