大学生村官:等不到的铁饭碗

既不是公务员也没有事业编制,不少大学生村官感觉身份尴尬。

因不是村民选举产生的,也不是由村组织请来的,大学生村官在村民眼里是一个外人。

受财力、编制等条件限制,当初政府的安置承诺无法兑现。在农村扎根了六七年的大学生村官们面临着被解聘的风险。

为了得到一个体制内的正式编制,34岁的大学生村官杨笑天又白等了一年。

这一等就是8年。2008年8月,他通过考试,成为河南省新郑市梨河镇的首批大学生村官。

自大学生村官政策实施以来,截至2014年底,全国共选聘了44.5万多名大学生村官,其中聘期满后进入公务员队伍的只有9.2万人。

南方周末记者梳理调查发现,随着大学生人数的不断膨胀,大学生村官制度实施八年来在多地陷入困境。受财力、编制等条件限制,当初政府的安置承诺多无法兑现。在农村扎根了六七年的大学生村官们不得不面临着被解聘的风险。

“只能等着被解聘”

在成为大学生村官之前,杨笑天是镇政府的“临时工”,每月工资800元。

因为是临时工,这份工作为他带来诸多不安定感:没有具体的工作事务,没有社保,更没有晋升的可能。

彼时,大学生村官政策吸引他的是“大学生村官参照公务员的制度进行管理,还可以享受一些优先进入体制内的条件”,这让他看到了稳定的希望。于是,他就提交了报考申请。

2008年,包括杨笑天在内的23名大学生被同批分配到梨河镇当村官。按照当时的聘用合同,到2014年,他们第二个三年合同到期,但此后村里并没有继续聘用他们。如今,他们大部分仍在岗。

“虽然没有合同保障,但我们一直在等待机会。”杨笑天说,希望六年的村官经历,可以为自己换取一个铁饭碗。

2015年河南省公务员的相关考试制度出来,这些“村官们”才感觉无力,“六七年的盼头,我们等来了一场空”。

走向体制内的机会直接将他们排除在外。

2015年3月24日,河南省委组织部、编办和公务员局等联合发布了《关于河南省2015年从大学生村干部中考录乡镇机关公务员、省选调生的通知》。

通知说,当年河南省将要从大学生村干部中考录1900名乡镇机关公务员和420名省选调生。招考的对象为,“目前在岗、截至2015年3月28日连续任职5年以上、近五年年度考核均为称职以上的大学生村干部”。

“这是这些年以来,河南第一次大规模地面向大学生村官招录公职人员。”同样等待了6年、想换取铁饭碗的河南省灵宝市的大学生村官吴帆说。

2008年初,经过四天的岗前培训后,吴帆被借调到灵宝市某镇工作。几年以来,该镇的信访、计生、税务、拆迁工作,他都干过。吴帆所在乡镇的二十多名村官,也均被截留在镇政府机关的各个部门里。

然而通告发布的3个月前,吴帆已经被解聘,理由是“换届未选上副职级以上的村干部”。这意味着,他无缘那次招录考试,“有些人虽然在2015年1月已经与政府签订了第三批聘用合同,也被撕毁。”他有些气愤。

吴帆告诉南方周末记者,灵宝市和其他中部城市的农村一样,经济势力、家族势力都可能直接影响到村干部的选举。他说,没能竞选上的根本原因是“长期被截留在乡镇里,没有任何群众基础,多数村民们不认识,我们是不可能被选上的,只能等着被解聘”(2014年8月21日《南方周末》刊发《在机关,当村官——调查显示一半大学生村官被截留》一文)。

这已经不是灵宝市的大学生村官第一次被解聘。吴帆的几位伙伴说,2014年夏天,灵宝市委组织部曾限期各乡镇解聘百余人;当年10月,因为各村换届,未选上副职级以上再次解聘九十余人。

“组织部门也很无奈”

“最苦最累的活都被我们干了,到头来还是被解聘。”河南省新乡市一名大学生村官告诉南方周末记者,他也是河南首批大学生村官,他说,当村官的6年时间里,自己几乎都是乡政府哪里需要到哪里,“信访、计生、秸秆禁烧……”

事实上,灵宝市的解聘也并非没有依据。该市市委组织部有关人士告诉南方周末记者,上述做法均是符合要求的。

依据是2011年河南省出台的《大学生村官续聘、解聘工作办法》。该办法规定:省委组织部选聘且在村工作三年期满;年度考核、聘期考核称职以上等次;身体健康、自愿继续在村工作的大学生村官才可以续聘。

续聘的方式为,“续聘次数为1次,续聘后在村工作期限为3年,续聘期满终止续聘协议,另行择业”。这就意味着,大学生村官最多可以干满6年,6年后如果未竞选进入村委班子的则会被解聘,这就需要“另行择业”。

不止河南省,安徽、河北等多个省份都出台了类似的文件。虽然各地党委组织部是大学生村官的管理者,但他们也很无奈。

2006年,也就是海南省“大学生村官”计划推行的第7年,当地的大学生村官身份不被承认的情况也出现过。当时儋州市委组织部副部长邓玉妹接受媒体采访时说,“大学生村官”要转为乡镇机关工作人员或进入乡镇领导班子,就等于成为公务员或纳入事业编制。但儋州无权单独增加公务员编制,各乡镇事业编制也已满员,组织部门对他们的问题无能为力。

早在2010年7月,十多名辽宁省的大学生村官为了自身编制问题,曾到国家信访局上访。2015年,河南滑县、浙江温州等地的大学生村官则开始集体维权。

对于大学生村官的出路问题,南方周末记者致电河南、江苏等地的组织部门采访均被婉拒。

2014年湖南等地出现解聘村官的现象后,湖南省委组织部曾接受当地媒体采访解释此事。湖南省委组织部基层党建办刘凯敏说,根据劳动合同,村官的任期已经结束,而且中央财政已经停止拨款,村官的工资也就无从发放。“某些地方可能会采用直接解聘这种方式,我们已经跟各地组织部门说过不允许这样做。”

刘凯敏介绍,“现在我国事业编的趋势是凡进必考,但我们还是为大学生村官开了一个小口子,希望能给在农村工作较长时间的部分大学生村官一些编制。但村官编制的名额不是由组织部门说了算,涉及多个部门的政策调和,政策不匹配我们也没办法。”

当初的承诺落空

我国大学生村官制度可以追溯到1995年江苏省丰县的“雏鹰工程”。在2000年之前,大学生村官政策在海南、浙江、河北等地摸索前行。

之后几年,随着大学生就业难的问题日益突出,大学生村官政策得到了进一步的推广。河南鹤壁、平顶山,四川广安、成都,以及陕西、上海等地都推出了规模较大的大学生村官政策。

大学生村官政策作为一项制度全国推广是从2008年开始的。当年4月,中组部、教育部、财政部和人社部四部门联合印发了《关于选聘高校毕业生到村任职工作的意见(试行)》的通知,计划每年选聘2万名大学生村官,连续选聘5年。

不过,当年全国在岗大学生村官总人数就严重超标,达到了13万人。此后,这一数量还以每年五六万的速度增长。

截至2013年年底,全国累计选聘了41万名大学生村官。以致于2014年5月30日,在中组部召开的全国大学生村官座谈会上,中组部部长赵乐际提出了要“优化整体结构,保持适度规模”的方针。

自此,中国大学生村官的人数增速放缓。《2015中国大学生村官发展报告》显示,2014年全国新聘大学生村官25399人,比前两年减少一半以上。

不仅大学生村官选聘制度开始缩小规模,一些地方已经开始对在职的大学生进行分流解聘。2015年11月3日,江苏省委组织部下发了《关于明确大学生村官工作期限的通知》。

该通知要求江苏各市委组织部:2016年及以后新选聘的大学生村官最长在村工作期限为两个聘期(6年)。各地与新选聘大学生村官签订合同时要明确在村工作满两个聘期后不再续聘;2015年以前选聘的大学生村官,今后签订续聘合同时,要明确在村工作工作满一个聘期后不再续聘。

南方周末记者查阅到了2009年江苏省大学生村官招聘公告。当时江苏省承诺,被选聘上的大学生村官享有以下待遇:使用专项全额拨款事业编制;享受全额拨款事业单位工资待遇,直接转正定级,薪级工资高定一级;从2010年开始,每年拿出一定数量的公务员职位,专门定向招录任职满3年、考核合格的大学生村官;县区、乡镇各类事业单位有空缺职位需补充人员的,也优先聘用大学生村官。

然而承诺落空。一些地方甚至克扣大学生村官的工资。至今在网络上还可以看到云南、河南等省份大学生村官的大量投诉信。

大学生村官们原本应该享有的财政发放的专项工资到哪里去了?

南方周末记者了解到,有一部分被挪用,有的甚至被贪污。2015年7月6日,山东省冠县县委组织部副部长赵某因贪污被判处有期徒刑8年。他利用管理大学生村官的职务之便,故意不向县财政局通报9名大学生已调离岗位的事实,贪污大学生村官的工资逾10万元,除了9700元用于公务支出外,剩下的被其据为己有。

管理混乱,“各自为政”

中山大学政治与公共事务管理学院教授陈天祥曾以广东省某县级市为例进行调研。陈天祥认为,目前大学生村官的这种雇佣关系是一种非典型雇佣关系。

陈天祥认为,这种非典型雇佣关系的缺陷就在于:缺乏统一的政策和操作指南,各地对大学生村官的管理出现“各自为政”的混乱现象。这种混乱一方面体现在管理的主体不清,对大学生村官的管理涉及党委组织部门、政府人事和民政部门等,存在多头管理现象,容易造成相互推诿扯皮和职责不清等情况;另一方面是管理的随意性,“涉及大学生的管理没有经过论证,欠缺合理性和系统性,与农村的实际情况脱节”。 他解释,组织关系上,大学生村官的党团关系和干部人事关系档案保留在所在县区的组织人事部门,工作绩效的考核也由相应的部门负责;劳动关系上,他们与所在乡镇签订劳动协议,并且由所在乡镇财政承担其工资与福利发放;而工作关系上,他们作为村两委工作人员参与村日常工作,直接领导是村两委干部,而非雇用他们的乡镇政府。

这样一来,大学生的“组织关系”“劳动关系”和“工作关系”是相互脱节的,尴尬也由此产生:大学生不是村民选举的,“也不是由村组织请来的”。因此,他们在村民眼里就成为了一个外人。他们既不能以村组织成员的合法身份从事村务,也不是乡镇干部,没有相应的职务影响力,也无法树立起必要的权威,对村组织施加影响。

在陈天祥所调研的这一县级市,大学生村官主要从事日常杂务工作,而对于调解纠纷之类需要有较强社会关系、社会资源和个人威望才能够胜任的工作则很少参与。他认为,正是由于缺乏“合法性”的身份,大学生村官无法参与核心村务,角色被边缘化,“大学生村官得不到表现的机会,也无法证明自己的能力,更无法在村两委群体中找到归属感”。

南京大学政府管理学院政治学系肖唐镖教授也表达了类似看法,大学生村官制度的问题是各方面的保障不足,有些地方当初给大学生村官的承诺没有兑现,“前几年河南有大学生村官上访和地方政府组织部门发生了冲突”。

而大学生村官自然也存在认识不足的问题。全国大学生村官工程专家委员会首席专家李义良说,目前大学生村官制度的问题除了管理之外也在于村官对自身的定位不足。他告诉南方周末记者,有些村官总觉得自己身份尴尬,既不是公务员也没有事业编制,“实际上真正想干事儿的人是不会考虑这个问题的”。

2014年9月4日,一名在河南农村做了6年的大学生村官在人民网上匿名为省领导留言,“2006年至2014年8年时间,乡政府基本没进人,平均工作年限30年,缺编四分之一。这么缺编的政府为啥不能给我们这些高素质,高学识,有经验的大学生村官留个机会?”

不久河南省委组织部回复了这名大学生村官。

“坚定信心、放开视野、勤奋工作,为新农村建设作出新的贡献。”这名大学生村官记得,在他申报大学生村官时,组织部也是这样鼓励他的。

(应受访者要求,部分受访者为化名)

来源:共识网

刷Android5.0或CM12出现流量和WIFI感叹号去掉方法

昨天把心爱的moto X刷了一个CM12,至今为止已经能够完美使用,我用的是电信4G,移动和联通的用户应该也是可以正常使用的。一开始刷进的时候各项功能都很正常,界面也很美观,就是发现CM12的ROM包WIFI和流量旁边有感叹号,后来经过各种谷歌,终于解决,现在将去掉CM12感叹号的方法分享给广大强迫症朋友。

去掉Android5.0和CM12网络图标上的感叹号的方法

Android5.0和CM12网络图标为什么会出现感叹号

这是因为安卓5.0引入了一种新的网络评估机制来评估网络状况,当你有网络请求时会自动选择网络连接条件最好的一个网络进行连接。中间有段函数isCaptivePortal()是用来判断当前网络是否需要登录的,而这个函数会到谷歌的服务器上进行请求,所以无法发送数据,出现感叹号。

CM12网络状态出现感叹号

如何去掉Android5.0和CM12网络图标上的感叹号

  • 使用CM12的终端去掉网络图标上的感叹号
  1. 这里以CM12为例,首先,刷入CM12,打开开发者模式(CM12打开开发者模式的方法:猛击设置-关于-版本号十下),然后在开发者模式中打开ROOT授权(选择应用和ADB),然后在下面打开本地终端。
    CM12中打开终端的方法
  2. 回到桌面,打开抽屉,发现是不是多了一个“终端”,OK,打开它。
    使用CM12的终端去掉网络图标的感叹号
  3. 输入“su”,然后回车;
  4. 然后再输入“settings put global captive_portal_detection_enabled 0”,再回车;
  5. 然后输入“reboot”,继续回车;
  6. 机器自动重启后,看看你的网络图标。
  7. 这个方法建议在刷过Google服务包之后进行,当然,如果你需要Google服务的话。
  • 使用ADB shell命令去掉网络图标上的感叹号

这里我只操作了一次,也成功了,不过后来被我*#*#4636#*#*玩了几次搞得又没网了,基本原理与上述方法一致。

我是用的moto X专用的fastboot工具打“ADB”,然后打adb shell “settings put global captive_portal_detection_enabled 0″(注意引号,不要打最外面这个大引号),出现一段killing什么什么的,然后重启试试。

使用ADB shell命令去掉感叹号不需ROOT。

你也可以使用ADB shell命令替换掉Google服务器:在ADB下打adb shell “settings put global captive_portal_server xn--yet824cpd.xn--fiqs8s”。

  • 使用非主流方法去掉网络图标上的感叹号

这个方法是我从一加论坛和小米论坛看的,自己并未进行尝试,请大家自行尝试。

  1. 开机后连接WiFi;
  2. 开启设置,进入用户菜单,创建新用户;
  3. 系统提示需要网络连接,一直点下一步,让手机连接网络;
  4. 当进行到正在联网时,强制关机;
  5. 重新开机后切换下网络,会发现感叹号很快消失了;
  6. 删除刚刚新添加的用户。
  7. OK。

之所以说非主流,因为看起来这个方法真的很无厘头,没代码,一点都不专业啊,不过据说还真的有效。

使用NoExclamation修改器去掉网络图标上的感叹号

感谢网友小狐狸,这里我将NoExclamation修改器的APK文件存放在我的微盘里,大家下载的时候可以顺手关注一下菊部哥。

需要注意的是NoExclamation修改器需要获取ROOT权限。

 

在安卓7.1.2里如何消除x号(在老一点点版本是感叹号)呢?

20170405更新:在安卓7.1.2里如何消除x号(在老一点点版本是感叹号)呢?
1.首先开启usb调试,然后用数据线连接电脑和手机。
2.然后解决好您的adb驱动问题,具体教程见:http://www.pixcn.cn/thread-1084-1-1.html
3.在电脑开始菜单-运行 输入cmd,打开命令提示符
依次输入下面语句
(以下办法支持安卓7.1.2/7.1.1)
adb shell settings put global captive_portal_https_url https://www.google.cn/generate_204
 
然后开启飞行模式,然后关闭飞行模式解决!亲自测试有效!
 
 
下面语句对安卓7.1/7.0有效
adb shell settings delete global captive_portal_server  
adb shell settings put global captive_portal_detection_enabled 0
 
20150223更新:
谷歌原生安卓系统当连接到移动数据网络或者WIFI网络的时候,其NetworkMonitor模块会向特定的服务器发起一个http的请求并利用收到的响应进行网络状态判断。由于谷歌的服务器被天朝屏蔽,所以导致没有返回值,这个时候谷歌安卓系统就会在信号或者wifi上打一个感叹号。
 
以下办法对安卓6.x/5.x有效果,对安卓7.0无效
解决的办法比较简单,修改接收请求的服务器地址:
首先搞定您pc的adb环境,然后连接您的手机和电脑,在命令提示符用下面命令来修改将服务器地址修改成http://www.g.cn
 
adb shell settings put global captive_portal_server www.g.cn
 
然后开启飞行模式,然后关闭飞行模式解决!
 
如果您想恢复的话,使用下面的语句:
 
adb shell settings delete global captive_portal_server  
adb shell settings put global captive_portal_detection_enabled 1  

[转帖]中央电视台1979–2001播放或引进的外国电影或电视剧目

Imy
201人 喜欢

android权限列表 Manifest.permission

Imy

http://developer.android.com/reference/android/Manifest.permission.html

Manifest.permission
extends Object
java.lang.Object

android.Manifest.permission
Summary

Constants
String
ACCESS_CHECKIN_PROPERTIES
Allows read/write access to the “properties” table in the checkin database, to change values that get uploaded.
String
ACCESS_COARSE_LOCATION
Allows an app to access approximate location.
String
ACCESS_FINE_LOCATION
Allows an app to access precise location.
String
ACCESS_LOCATION_EXTRA_COMMANDS
Allows an application to access extra location provider commands.
String
ACCESS_NETWORK_STATE
Allows applications to access information about networks.
String
ACCESS_NOTIFICATION_POLICY
Marker permission for applications that wish to access notification policy.
String
ACCESS_WIFI_STATE
Allows applications to access information about Wi-Fi networks.
String
ACCOUNT_MANAGER
Allows applications to call into AccountAuthenticators.
String
ADD_VOICEMAIL
Allows an application to add voicemails into the system.
String
BATTERY_STATS
Allows an application to collect battery statistics
String
BIND_ACCESSIBILITY_SERVICE
Must be required by an AccessibilityService, to ensure that only the system can bind to it.
String
BIND_APPWIDGET
Allows an application to tell the AppWidget service which application can access AppWidget’s data.
String
BIND_CARRIER_MESSAGING_SERVICE
This constant was deprecated in API level 23. Use BIND_CARRIER_SERVICES instead
String
BIND_CARRIER_SERVICES
The system process that is allowed to bind to services in carrier apps will have this permission.
String
BIND_CHOOSER_TARGET_SERVICE
Must be required by a ChooserTargetService, to ensure that only the system can bind to it.
String
BIND_DEVICE_ADMIN
Must be required by device administration receiver, to ensure that only the system can interact with it.
String
BIND_DREAM_SERVICE
Must be required by an DreamService, to ensure that only the system can bind to it.
String
BIND_INCALL_SERVICE
Must be required by a InCallService, to ensure that only the system can bind to it.
String
BIND_INPUT_METHOD
Must be required by an InputMethodService, to ensure that only the system can bind to it.
String
BIND_MIDI_DEVICE_SERVICE
Must be required by an MidiDeviceService, to ensure that only the system can bind to it.
String
BIND_NFC_SERVICE
Must be required by a HostApduService or OffHostApduService to ensure that only the system can bind to it.
String
BIND_NOTIFICATION_LISTENER_SERVICE
Must be required by an NotificationListenerService, to ensure that only the system can bind to it.
String
BIND_PRINT_SERVICE
Must be required by a PrintService, to ensure that only the system can bind to it.
String
BIND_REMOTEVIEWS
Must be required by a RemoteViewsService, to ensure that only the system can bind to it.
String
BIND_TELECOM_CONNECTION_SERVICE
Must be required by a ConnectionService, to ensure that only the system can bind to it.
String
BIND_TEXT_SERVICE
Must be required by a TextService (eg SpellCheckerService) to ensure that only the system can bind to it.
String
BIND_TV_INPUT
Must be required by a TvInputService to ensure that only the system can bind to it.
String
BIND_VOICE_INTERACTION
Must be required by a VoiceInteractionService, to ensure that only the system can bind to it.
String
BIND_VPN_SERVICE
Must be required by a VpnService, to ensure that only the system can bind to it.
String
BIND_WALLPAPER
Must be required by a WallpaperService, to ensure that only the system can bind to it.
String
BLUETOOTH
Allows applications to connect to paired bluetooth devices.
String
BLUETOOTH_ADMIN
Allows applications to discover and pair bluetooth devices.
String
BLUETOOTH_PRIVILEGED
Allows applications to pair bluetooth devices without user interaction, and to allow or disallow phonebook access or message access.
String
BODY_SENSORS
Allows an application to access data from sensors that the user uses to measure what is happening inside his/her body, such as heart rate.
String
BROADCAST_PACKAGE_REMOVED
Allows an application to broadcast a notification that an application package has been removed.
String
BROADCAST_SMS
Allows an application to broadcast an SMS receipt notification.
String
BROADCAST_STICKY
Allows an application to broadcast sticky intents.
String
BROADCAST_WAP_PUSH
Allows an application to broadcast a WAP PUSH receipt notification.
String
CALL_PHONE
Allows an application to initiate a phone call without going through the Dialer user interface for the user to confirm the call.
String
CALL_PRIVILEGED
Allows an application to call any phone number, including emergency numbers, without going through the Dialer user interface for the user to confirm the call being placed.
String
CAMERA
Required to be able to access the camera device.
String
CAPTURE_AUDIO_OUTPUT
Allows an application to capture audio output.
String
CAPTURE_SECURE_VIDEO_OUTPUT
Allows an application to capture secure video output.
String
CAPTURE_VIDEO_OUTPUT
Allows an application to capture video output.
String
CHANGE_COMPONENT_ENABLED_STATE
Allows an application to change whether an application component (other than its own) is enabled or not.
String
CHANGE_CONFIGURATION
Allows an application to modify the current configuration, such as locale.
String
CHANGE_NETWORK_STATE
Allows applications to change network connectivity state.
String
CHANGE_WIFI_MULTICAST_STATE
Allows applications to enter Wi-Fi Multicast mode.
String
CHANGE_WIFI_STATE
Allows applications to change Wi-Fi connectivity state.
String
CLEAR_APP_CACHE
Allows an application to clear the caches of all installed applications on the device.
String
CONTROL_LOCATION_UPDATES
Allows enabling/disabling location update notifications from the radio.
String
DELETE_CACHE_FILES
Allows an application to delete cache files.
String
DELETE_PACKAGES
Allows an application to delete packages.
String
DIAGNOSTIC
Allows applications to RW to diagnostic resources.
String
DISABLE_KEYGUARD
Allows applications to disable the keyguard if it is not secure.
String
DUMP
Allows an application to retrieve state dump information from system services.
String
EXPAND_STATUS_BAR
Allows an application to expand or collapse the status bar.
String
FACTORY_TEST
Run as a manufacturer test application, running as the root user.
String
FLASHLIGHT
Allows access to the flashlight.
String
GET_ACCOUNTS
Allows access to the list of accounts in the Accounts Service.
String
GET_ACCOUNTS_PRIVILEGED
Allows access to the list of accounts in the Accounts Service.
String
GET_PACKAGE_SIZE
Allows an application to find out the space used by any package.
String
GET_TASKS
This constant was deprecated in API level 21. No longer enforced.
String
GLOBAL_SEARCH
This permission can be used on content providers to allow the global search system to access their data.
String
INSTALL_LOCATION_PROVIDER
Allows an application to install a location provider into the Location Manager.
String
INSTALL_PACKAGES
Allows an application to install packages.
String
INSTALL_SHORTCUT
Allows an application to install a shortcut in Launcher.
String
INTERNET
Allows applications to open network sockets.
String
KILL_BACKGROUND_PROCESSES
Allows an application to call killBackgroundProcesses(String).
String
LOCATION_HARDWARE
Allows an application to use location features in hardware, such as the geofencing api.
String
MANAGE_DOCUMENTS
Allows an application to manage access to documents, usually as part of a document picker.
String
MASTER_CLEAR
Not for use by third-party applications.
String
MEDIA_CONTENT_CONTROL
Allows an application to know what content is playing and control its playback.
String
MODIFY_AUDIO_SETTINGS
Allows an application to modify global audio settings.
String
MODIFY_PHONE_STATE
Allows modification of the telephony state – power on, mmi, etc.
String
MOUNT_FORMAT_FILESYSTEMS
Allows formatting file systems for removable storage.
String
MOUNT_UNMOUNT_FILESYSTEMS
Allows mounting and unmounting file systems for removable storage.
String
NFC
Allows applications to perform I/O operations over NFC.
String
PACKAGE_USAGE_STATS
Allows an application to collect component usage statisticsDeclaring the permission implies intention to use the API and the user of the device can grant permission through the Settings application.
String
PERSISTENT_ACTIVITY
This constant was deprecated in API level 9. This functionality will be removed in the future; please do not use. Allow an application to make its activities persistent.
String
PROCESS_OUTGOING_CALLS
Allows an application to see the number being dialed during an outgoing call with the option to redirect the call to a different number or abort the call altogether.
String
READ_CALENDAR
Allows an application to read the user’s calendar data.
String
READ_CALL_LOG
Allows an application to read the user’s call log.
String
READ_CONTACTS
Allows an application to read the user’s contacts data.
String
READ_EXTERNAL_STORAGE
Allows an application to read from external storage.
String
READ_FRAME_BUFFER
Allows an application to take screen shots and more generally get access to the frame buffer data.
String
READ_INPUT_STATE
This constant was deprecated in API level 16. The API that used this permission has been removed.
String
READ_LOGS
Allows an application to read the low-level system log files.
String
READ_PHONE_STATE
Allows read only access to phone state.
String
READ_SMS
Allows an application to read SMS messages.
String
READ_SYNC_SETTINGS
Allows applications to read the sync settings.
String
READ_SYNC_STATS
Allows applications to read the sync stats.
String
READ_VOICEMAIL
Allows an application to read voicemails in the system.
String
REBOOT
Required to be able to reboot the device.
String
RECEIVE_BOOT_COMPLETED
Allows an application to receive the ACTION_BOOT_COMPLETED that is broadcast after the system finishes booting.
String
RECEIVE_MMS
Allows an application to monitor incoming MMS messages.
String
RECEIVE_SMS
Allows an application to receive SMS messages.
String
RECEIVE_WAP_PUSH
Allows an application to receive WAP push messages.
String
RECORD_AUDIO
Allows an application to record audio.
String
REORDER_TASKS
Allows an application to change the Z-order of tasks.
String
REQUEST_IGNORE_BATTERY_OPTIMIZATIONS
Permission an application must hold in order to use ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS.
String
REQUEST_INSTALL_PACKAGES
Allows an application to request installing packages.
String
RESTART_PACKAGES
This constant was deprecated in API level 8. The restartPackage(String) API is no longer supported.
String
SEND_RESPOND_VIA_MESSAGE
Allows an application (Phone) to send a request to other applications to handle the respond-via-message action during incoming calls.
String
SEND_SMS
Allows an application to send SMS messages.
String
SET_ALARM
Allows an application to broadcast an Intent to set an alarm for the user.
String
SET_ALWAYS_FINISH
Allows an application to control whether activities are immediately finished when put in the background.
String
SET_ANIMATION_SCALE
Modify the global animation scaling factor.
String
SET_DEBUG_APP
Configure an application for debugging.
String
SET_PREFERRED_APPLICATIONS
This constant was deprecated in API level 7. No longer useful, see addPackageToPreferred(String) for details.
String
SET_PROCESS_LIMIT
Allows an application to set the maximum number of (not needed) application processes that can be running.
String
SET_TIME
Allows applications to set the system time.
String
SET_TIME_ZONE
Allows applications to set the system time zone.
String
SET_WALLPAPER
Allows applications to set the wallpaper.
String
SET_WALLPAPER_HINTS
Allows applications to set the wallpaper hints.
String
SIGNAL_PERSISTENT_PROCESSES
Allow an application to request that a signal be sent to all persistent processes.
String
STATUS_BAR
Allows an application to open, close, or disable the status bar and its icons.
String
SYSTEM_ALERT_WINDOW
Allows an app to create windows using the type TYPE_SYSTEM_ALERT, shown on top of all other apps.
String
TRANSMIT_IR
Allows using the device’s IR transmitter, if available.
String
UNINSTALL_SHORTCUT
Allows an application to uninstall a shortcut in Launcher.
String
UPDATE_DEVICE_STATS
Allows an application to update device statistics.
String
USE_FINGERPRINT
Allows an app to use fingerprint hardware.
String
USE_SIP
Allows an application to use SIP service.
String
VIBRATE
Allows access to the vibrator.
String
WAKE_LOCK
Allows using PowerManager WakeLocks to keep processor from sleeping or screen from dimming.
String
WRITE_APN_SETTINGS
Allows applications to write the apn settings.
String
WRITE_CALENDAR
Allows an application to write the user’s calendar data.
String
WRITE_CALL_LOG
Allows an application to write (but not read) the user’s contacts data.
String
WRITE_CONTACTS
Allows an application to write the user’s contacts data.
String
WRITE_EXTERNAL_STORAGE
Allows an application to write to external storage.
String
WRITE_GSERVICES
Allows an application to modify the Google service map.
String
WRITE_SECURE_SETTINGS
Allows an application to read or write the secure system settings.
String
WRITE_SETTINGS
Allows an application to read or write the system settings.
String
WRITE_SYNC_SETTINGS
Allows applications to write the sync settings.
String
WRITE_VOICEMAIL
Allows an application to modify and remove existing voicemails in the system.
Public Constructors

Manifest.permission()
[Collapse]

Inherited Methods
From class java.lang.Object

Object
clone()

Creates and returns a copy of this Object.
boolean
equals(Object o)

Compares this instance with the specified object and indicates if they are equal.
void
finalize()

Invoked when the garbage collector has detected that this instance is no longer reachable.
final Class<?>
getClass()

Returns the unique instance of Class that represents this object’s class.
int
hashCode()

Returns an integer hash code for this object.
final void
notify()

Causes a thread which is waiting on this object’s monitor (by means of calling one of the wait() methods) to be woken up.
final void
notifyAll()

Causes all threads which are waiting on this object’s monitor (by means of calling one of the wait() methods) to be woken up.
String
toString()

Returns a string containing a concise, human-readable description of this object.
final void
wait()

Causes the calling thread to wait until another thread calls the notify() or notifyAll() method of this object.
final void
wait(long millis, int nanos)

Causes the calling thread to wait until another thread calls the notify() or notifyAll() method of this object or until the specified timeout expires.
final void
wait(long millis)

Causes the calling thread to wait until another thread calls the notify() or notifyAll() method of this object or until the specified timeout expires.
Constants
public static final String ACCESS_CHECKIN_PROPERTIES
Added in API level 1
Allows read/write access to the “properties” table in the checkin database, to change values that get uploaded.

Not for use by third-party applications.
Constant Value: “android.permission.ACCESS_CHECKIN_PROPERTIES”
public static final String ACCESS_COARSE_LOCATION
Added in API level 1
Allows an app to access approximate location.

Protection level: dangerous
Constant Value: “android.permission.ACCESS_COARSE_LOCATION”
public static final String ACCESS_FINE_LOCATION
Added in API level 1
Allows an app to access precise location.

Protection level: dangerous
Constant Value: “android.permission.ACCESS_FINE_LOCATION”
public static final String ACCESS_LOCATION_EXTRA_COMMANDS
Added in API level 1
Allows an application to access extra location provider commands.

Protection level: normal
Constant Value: “android.permission.ACCESS_LOCATION_EXTRA_COMMANDS”
public static final String ACCESS_NETWORK_STATE
Added in API level 1
Allows applications to access information about networks.

Protection level: normal
Constant Value: “android.permission.ACCESS_NETWORK_STATE”
public static final String ACCESS_NOTIFICATION_POLICY
Added in API level 23
Marker permission for applications that wish to access notification policy.

Protection level: normal
Constant Value: “android.permission.ACCESS_NOTIFICATION_POLICY”
public static final String ACCESS_WIFI_STATE
Added in API level 1
Allows applications to access information about Wi-Fi networks.

Protection level: normal
Constant Value: “android.permission.ACCESS_WIFI_STATE”
public static final String ACCOUNT_MANAGER
Added in API level 5
Allows applications to call into AccountAuthenticators.

Not for use by third-party applications.
Constant Value: “android.permission.ACCOUNT_MANAGER”
public static final String ADD_VOICEMAIL
Added in API level 14
Allows an application to add voicemails into the system.

Protection level: dangerous
Constant Value: “com.android.voicemail.permission.ADD_VOICEMAIL”
public static final String BATTERY_STATS
Added in API level 1
Allows an application to collect battery statistics
Constant Value: “android.permission.BATTERY_STATS”
public static final String BIND_ACCESSIBILITY_SERVICE
Added in API level 16
Must be required by an AccessibilityService, to ensure that only the system can bind to it.

Protection level: signature
Constant Value: “android.permission.BIND_ACCESSIBILITY_SERVICE”
public static final String BIND_APPWIDGET
Added in API level 3
Allows an application to tell the AppWidget service which application can access AppWidget’s data. The normal user flow is that a user picks an AppWidget to go into a particular host, thereby giving that host application access to the private data from the AppWidget app. An application that has this permission should honor that contract.

Not for use by third-party applications.
Constant Value: “android.permission.BIND_APPWIDGET”
public static final String BIND_CARRIER_MESSAGING_SERVICE
Added in API level 22
This constant was deprecated in API level 23.
Use BIND_CARRIER_SERVICES instead

 

Constant Value: “android.permission.BIND_CARRIER_MESSAGING_SERVICE”
public static final String BIND_CARRIER_SERVICES
Added in API level 23
The system process that is allowed to bind to services in carrier apps will have this permission. Carrier apps should use this permission to protect their services that only the system is allowed to bind to.

Protection level: system|signature
Constant Value: “android.permission.BIND_CARRIER_SERVICES”
public static final String BIND_CHOOSER_TARGET_SERVICE
Added in API level 23
Must be required by a ChooserTargetService, to ensure that only the system can bind to it.

Protection level: signature
Constant Value: “android.permission.BIND_CHOOSER_TARGET_SERVICE”
public static final String BIND_DEVICE_ADMIN
Added in API level 8
Must be required by device administration receiver, to ensure that only the system can interact with it.

Protection level: signature
Constant Value: “android.permission.BIND_DEVICE_ADMIN”
public static final String BIND_DREAM_SERVICE
Added in API level 21
Must be required by an DreamService, to ensure that only the system can bind to it.

Protection level: signature
Constant Value: “android.permission.BIND_DREAM_SERVICE”
public static final String BIND_INCALL_SERVICE
Added in API level 23
Must be required by a InCallService, to ensure that only the system can bind to it.

Protection level: system|signature
Constant Value: “android.permission.BIND_INCALL_SERVICE”
public static final String BIND_INPUT_METHOD
Added in API level 3
Must be required by an InputMethodService, to ensure that only the system can bind to it.

Protection level: signature
Constant Value: “android.permission.BIND_INPUT_METHOD”
public static final String BIND_MIDI_DEVICE_SERVICE
Added in API level 23
Must be required by an MidiDeviceService, to ensure that only the system can bind to it.

Protection level: signature
Constant Value: “android.permission.BIND_MIDI_DEVICE_SERVICE”
public static final String BIND_NFC_SERVICE
Added in API level 19
Must be required by a HostApduService or OffHostApduService to ensure that only the system can bind to it.

Protection level: signature
Constant Value: “android.permission.BIND_NFC_SERVICE”
public static final String BIND_NOTIFICATION_LISTENER_SERVICE
Added in API level 18
Must be required by an NotificationListenerService, to ensure that only the system can bind to it.

Protection level: signature
Constant Value: “android.permission.BIND_NOTIFICATION_LISTENER_SERVICE”
public static final String BIND_PRINT_SERVICE
Added in API level 19
Must be required by a PrintService, to ensure that only the system can bind to it.

Protection level: signature
Constant Value: “android.permission.BIND_PRINT_SERVICE”
public static final String BIND_REMOTEVIEWS
Added in API level 11
Must be required by a RemoteViewsService, to ensure that only the system can bind to it.
Constant Value: “android.permission.BIND_REMOTEVIEWS”
public static final String BIND_TELECOM_CONNECTION_SERVICE
Added in API level 23
Must be required by a ConnectionService, to ensure that only the system can bind to it.

Protection level: system|signature
Constant Value: “android.permission.BIND_TELECOM_CONNECTION_SERVICE”
public static final String BIND_TEXT_SERVICE
Added in API level 14
Must be required by a TextService (eg SpellCheckerService) to ensure that only the system can bind to it.

Protection level: signature
Constant Value: “android.permission.BIND_TEXT_SERVICE”
public static final String BIND_TV_INPUT
Added in API level 21
Must be required by a TvInputService to ensure that only the system can bind to it.

Protection level: signature
Constant Value: “android.permission.BIND_TV_INPUT”
public static final String BIND_VOICE_INTERACTION
Added in API level 21
Must be required by a VoiceInteractionService, to ensure that only the system can bind to it.

Protection level: signature
Constant Value: “android.permission.BIND_VOICE_INTERACTION”
public static final String BIND_VPN_SERVICE
Added in API level 14
Must be required by a VpnService, to ensure that only the system can bind to it.

Protection level: signature
Constant Value: “android.permission.BIND_VPN_SERVICE”
public static final String BIND_WALLPAPER
Added in API level 8
Must be required by a WallpaperService, to ensure that only the system can bind to it.

Protection level: system|signature
Constant Value: “android.permission.BIND_WALLPAPER”
public static final String BLUETOOTH
Added in API level 1
Allows applications to connect to paired bluetooth devices.

Protection level: normal
Constant Value: “android.permission.BLUETOOTH”
public static final String BLUETOOTH_ADMIN
Added in API level 1
Allows applications to discover and pair bluetooth devices.

Protection level: normal
Constant Value: “android.permission.BLUETOOTH_ADMIN”
public static final String BLUETOOTH_PRIVILEGED
Added in API level 19
Allows applications to pair bluetooth devices without user interaction, and to allow or disallow phonebook access or message access. This is not available to third party applications.
Constant Value: “android.permission.BLUETOOTH_PRIVILEGED”
public static final String BODY_SENSORS
Added in API level 20
Allows an application to access data from sensors that the user uses to measure what is happening inside his/her body, such as heart rate.

Protection level: dangerous
Constant Value: “android.permission.BODY_SENSORS”
public static final String BROADCAST_PACKAGE_REMOVED
Added in API level 1
Allows an application to broadcast a notification that an application package has been removed.

Not for use by third-party applications.
Constant Value: “android.permission.BROADCAST_PACKAGE_REMOVED”
public static final String BROADCAST_SMS
Added in API level 2
Allows an application to broadcast an SMS receipt notification.

Not for use by third-party applications.
Constant Value: “android.permission.BROADCAST_SMS”
public static final String BROADCAST_STICKY
Added in API level 1
Allows an application to broadcast sticky intents. These are broadcasts whose data is held by the system after being finished, so that clients can quickly retrieve that data without having to wait for the next broadcast.

Protection level: normal
Constant Value: “android.permission.BROADCAST_STICKY”
public static final String BROADCAST_WAP_PUSH
Added in API level 2
Allows an application to broadcast a WAP PUSH receipt notification.

Not for use by third-party applications.
Constant Value: “android.permission.BROADCAST_WAP_PUSH”
public static final String CALL_PHONE
Added in API level 1
Allows an application to initiate a phone call without going through the Dialer user interface for the user to confirm the call.

Protection level: dangerous
Constant Value: “android.permission.CALL_PHONE”
public static final String CALL_PRIVILEGED
Added in API level 1
Allows an application to call any phone number, including emergency numbers, without going through the Dialer user interface for the user to confirm the call being placed.

Not for use by third-party applications.
Constant Value: “android.permission.CALL_PRIVILEGED”
public static final String CAMERA
Added in API level 1
Required to be able to access the camera device.

This will automatically enforce the <uses-feature> manifest element for all camera features. If you do not require all camera features or can properly operate if a camera is not available, then you must modify your manifest as appropriate in order to install on devices that don’t support all camera features.

Protection level: dangerous
Constant Value: “android.permission.CAMERA”
public static final String CAPTURE_AUDIO_OUTPUT
Added in API level 19
Allows an application to capture audio output.

Not for use by third-party applications.
Constant Value: “android.permission.CAPTURE_AUDIO_OUTPUT”
public static final String CAPTURE_SECURE_VIDEO_OUTPUT
Added in API level 19
Allows an application to capture secure video output.

Not for use by third-party applications.
Constant Value: “android.permission.CAPTURE_SECURE_VIDEO_OUTPUT”
public static final String CAPTURE_VIDEO_OUTPUT
Added in API level 19
Allows an application to capture video output.

Not for use by third-party applications.
Constant Value: “android.permission.CAPTURE_VIDEO_OUTPUT”
public static final String CHANGE_COMPONENT_ENABLED_STATE
Added in API level 1
Allows an application to change whether an application component (other than its own) is enabled or not.

Not for use by third-party applications.
Constant Value: “android.permission.CHANGE_COMPONENT_ENABLED_STATE”
public static final String CHANGE_CONFIGURATION
Added in API level 1
Allows an application to modify the current configuration, such as locale.
Constant Value: “android.permission.CHANGE_CONFIGURATION”
public static final String CHANGE_NETWORK_STATE
Added in API level 1
Allows applications to change network connectivity state.

Protection level: normal
Constant Value: “android.permission.CHANGE_NETWORK_STATE”
public static final String CHANGE_WIFI_MULTICAST_STATE
Added in API level 4
Allows applications to enter Wi-Fi Multicast mode.

Protection level: normal
Constant Value: “android.permission.CHANGE_WIFI_MULTICAST_STATE”
public static final String CHANGE_WIFI_STATE
Added in API level 1
Allows applications to change Wi-Fi connectivity state.

Protection level: normal
Constant Value: “android.permission.CHANGE_WIFI_STATE”
public static final String CLEAR_APP_CACHE
Added in API level 1
Allows an application to clear the caches of all installed applications on the device.

Protection level: system|signature
Constant Value: “android.permission.CLEAR_APP_CACHE”
public static final String CONTROL_LOCATION_UPDATES
Added in API level 1
Allows enabling/disabling location update notifications from the radio.

Not for use by third-party applications.
Constant Value: “android.permission.CONTROL_LOCATION_UPDATES”
public static final String DELETE_CACHE_FILES
Added in API level 1
Allows an application to delete cache files.

Not for use by third-party applications.
Constant Value: “android.permission.DELETE_CACHE_FILES”
public static final String DELETE_PACKAGES
Added in API level 1
Allows an application to delete packages.

Not for use by third-party applications.
Constant Value: “android.permission.DELETE_PACKAGES”
public static final String DIAGNOSTIC
Added in API level 1
Allows applications to RW to diagnostic resources.

Not for use by third-party applications.
Constant Value: “android.permission.DIAGNOSTIC”
public static final String DISABLE_KEYGUARD
Added in API level 1
Allows applications to disable the keyguard if it is not secure.

Protection level: normal
Constant Value: “android.permission.DISABLE_KEYGUARD”
public static final String DUMP
Added in API level 1
Allows an application to retrieve state dump information from system services.

Not for use by third-party applications.
Constant Value: “android.permission.DUMP”
public static final String EXPAND_STATUS_BAR
Added in API level 1
Allows an application to expand or collapse the status bar.

Protection level: normal
Constant Value: “android.permission.EXPAND_STATUS_BAR”
public static final String FACTORY_TEST
Added in API level 1
Run as a manufacturer test application, running as the root user. Only available when the device is running in manufacturer test mode.

Not for use by third-party applications.
Constant Value: “android.permission.FACTORY_TEST”
public static final String FLASHLIGHT
Added in API level 1
Allows access to the flashlight.

Protection level: normal
Constant Value: “android.permission.FLASHLIGHT”
public static final String GET_ACCOUNTS
Added in API level 1
Allows access to the list of accounts in the Accounts Service.

Note: Beginning with Android 6.0 (API level 23), if an app shares the signature of the authenticator that manages an account, it does not need “GET_ACCOUNTS” permission to read information about that account. On Android 5.1 and lower, all apps need “GET_ACCOUNTS” permission to read information about any account.

Protection level: dangerous
Constant Value: “android.permission.GET_ACCOUNTS”
public static final String GET_ACCOUNTS_PRIVILEGED
Added in API level 23
Allows access to the list of accounts in the Accounts Service.
Constant Value: “android.permission.GET_ACCOUNTS_PRIVILEGED”
public static final String GET_PACKAGE_SIZE
Added in API level 1
Allows an application to find out the space used by any package.

Protection level: normal
Constant Value: “android.permission.GET_PACKAGE_SIZE”
public static final String GET_TASKS
Added in API level 1
This constant was deprecated in API level 21.
No longer enforced.

 

Constant Value: “android.permission.GET_TASKS”
public static final String GLOBAL_SEARCH
Added in API level 4
This permission can be used on content providers to allow the global search system to access their data. Typically it used when the provider has some permissions protecting it (which global search would not be expected to hold), and added as a read-only permission to the path in the provider where global search queries are performed. This permission can not be held by regular applications; it is used by applications to protect themselves from everyone else besides global search.
Constant Value: “android.permission.GLOBAL_SEARCH”
public static final String INSTALL_LOCATION_PROVIDER
Added in API level 4
Allows an application to install a location provider into the Location Manager.

Not for use by third-party applications.
Constant Value: “android.permission.INSTALL_LOCATION_PROVIDER”
public static final String INSTALL_PACKAGES
Added in API level 1
Allows an application to install packages.

Not for use by third-party applications.
Constant Value: “android.permission.INSTALL_PACKAGES”
public static final String INSTALL_SHORTCUT
Added in API level 19
Allows an application to install a shortcut in Launcher.

Protection level: normal
Constant Value: “com.android.launcher.permission.INSTALL_SHORTCUT”
public static final String INTERNET
Added in API level 1
Allows applications to open network sockets.

Protection level: normal
Constant Value: “android.permission.INTERNET”
public static final String KILL_BACKGROUND_PROCESSES
Added in API level 8
Allows an application to call killBackgroundProcesses(String).

Protection level: normal
Constant Value: “android.permission.KILL_BACKGROUND_PROCESSES”
public static final String LOCATION_HARDWARE
Added in API level 18
Allows an application to use location features in hardware, such as the geofencing api.

Not for use by third-party applications.
Constant Value: “android.permission.LOCATION_HARDWARE”
public static final String MANAGE_DOCUMENTS
Added in API level 19
Allows an application to manage access to documents, usually as part of a document picker.

Protection level: signature
Constant Value: “android.permission.MANAGE_DOCUMENTS”
public static final String MASTER_CLEAR
Added in API level 1
Not for use by third-party applications.
Constant Value: “android.permission.MASTER_CLEAR”
public static final String MEDIA_CONTENT_CONTROL
Added in API level 19
Allows an application to know what content is playing and control its playback.

Not for use by third-party applications due to privacy of media consumption
Constant Value: “android.permission.MEDIA_CONTENT_CONTROL”
public static final String MODIFY_AUDIO_SETTINGS
Added in API level 1
Allows an application to modify global audio settings.

Protection level: normal
Constant Value: “android.permission.MODIFY_AUDIO_SETTINGS”
public static final String MODIFY_PHONE_STATE
Added in API level 1
Allows modification of the telephony state – power on, mmi, etc. Does not include placing calls.

Not for use by third-party applications.
Constant Value: “android.permission.MODIFY_PHONE_STATE”
public static final String MOUNT_FORMAT_FILESYSTEMS
Added in API level 3
Allows formatting file systems for removable storage.

Not for use by third-party applications.
Constant Value: “android.permission.MOUNT_FORMAT_FILESYSTEMS”
public static final String MOUNT_UNMOUNT_FILESYSTEMS
Added in API level 1
Allows mounting and unmounting file systems for removable storage.

Not for use by third-party applications.
Constant Value: “android.permission.MOUNT_UNMOUNT_FILESYSTEMS”
public static final String NFC
Added in API level 9
Allows applications to perform I/O operations over NFC.

Protection level: normal
Constant Value: “android.permission.NFC”
public static final String PACKAGE_USAGE_STATS
Added in API level 23
Allows an application to collect component usage statistics

Declaring the permission implies intention to use the API and the user of the device can grant permission through the Settings application.
Constant Value: “android.permission.PACKAGE_USAGE_STATS”
public static final String PERSISTENT_ACTIVITY
Added in API level 1
This constant was deprecated in API level 9.
This functionality will be removed in the future; please do not use. Allow an application to make its activities persistent.

 

Constant Value: “android.permission.PERSISTENT_ACTIVITY”
public static final String PROCESS_OUTGOING_CALLS
Added in API level 1
Allows an application to see the number being dialed during an outgoing call with the option to redirect the call to a different number or abort the call altogether.

Protection level: dangerous
Constant Value: “android.permission.PROCESS_OUTGOING_CALLS”
public static final String READ_CALENDAR
Added in API level 1
Allows an application to read the user’s calendar data.

Protection level: dangerous
Constant Value: “android.permission.READ_CALENDAR”
public static final String READ_CALL_LOG
Added in API level 16
Allows an application to read the user’s call log.

Note: If your app uses the READ_CONTACTS permission and both your minSdkVersion and targetSdkVersion values are set to 15 or lower, the system implicitly grants your app this permission. If you don’t need this permission, be sure your targetSdkVersion is 16 or higher.

Protection level: dangerous
Constant Value: “android.permission.READ_CALL_LOG”
public static final String READ_CONTACTS
Added in API level 1
Allows an application to read the user’s contacts data.

Protection level: dangerous
Constant Value: “android.permission.READ_CONTACTS”
public static final String READ_EXTERNAL_STORAGE
Added in API level 16
Allows an application to read from external storage.

Any app that declares the WRITE_EXTERNAL_STORAGE permission is implicitly granted this permission.

This permission is enforced starting in API level 19. Before API level 19, this permission is not enforced and all apps still have access to read from external storage. You can test your app with the permission enforced by enabling Protect USB storage under Developer options in the Settings app on a device running Android 4.1 or higher.

Also starting in API level 19, this permission is not required to read/write files in your application-specific directories returned by getExternalFilesDir(String) and getExternalCacheDir().

Note: If both your minSdkVersion and targetSdkVersion values are set to 3 or lower, the system implicitly grants your app this permission. If you don’t need this permission, be sure your targetSdkVersion is 4 or higher.

Protection level: dangerous
Constant Value: “android.permission.READ_EXTERNAL_STORAGE”
public static final String READ_FRAME_BUFFER
Added in API level 1
Allows an application to take screen shots and more generally get access to the frame buffer data.

Not for use by third-party applications.
Constant Value: “android.permission.READ_FRAME_BUFFER”
public static final String READ_INPUT_STATE
Added in API level 1
This constant was deprecated in API level 16.
The API that used this permission has been removed.

Allows an application to retrieve the current state of keys and switches.

Not for use by third-party applications.
Constant Value: “android.permission.READ_INPUT_STATE”
public static final String READ_LOGS
Added in API level 1
Allows an application to read the low-level system log files.

Not for use by third-party applications, because Log entries can contain the user’s private information.
Constant Value: “android.permission.READ_LOGS”
public static final String READ_PHONE_STATE
Added in API level 1
Allows read only access to phone state.

Note: If both your minSdkVersion and targetSdkVersion values are set to 3 or lower, the system implicitly grants your app this permission. If you don’t need this permission, be sure your targetSdkVersion is 4 or higher.

Protection level: dangerous
Constant Value: “android.permission.READ_PHONE_STATE”
public static final String READ_SMS
Added in API level 1
Allows an application to read SMS messages.

Protection level: dangerous
Constant Value: “android.permission.READ_SMS”
public static final String READ_SYNC_SETTINGS
Added in API level 1
Allows applications to read the sync settings.

Protection level: normal
Constant Value: “android.permission.READ_SYNC_SETTINGS”
public static final String READ_SYNC_STATS
Added in API level 1
Allows applications to read the sync stats.

Protection level: normal
Constant Value: “android.permission.READ_SYNC_STATS”
public static final String READ_VOICEMAIL
Added in API level 21
Allows an application to read voicemails in the system.

Protection level: system|signature
Constant Value: “com.android.voicemail.permission.READ_VOICEMAIL”
public static final String REBOOT
Added in API level 1
Required to be able to reboot the device.

Not for use by third-party applications.
Constant Value: “android.permission.REBOOT”
public static final String RECEIVE_BOOT_COMPLETED
Added in API level 1
Allows an application to receive the ACTION_BOOT_COMPLETED that is broadcast after the system finishes booting. If you don’t request this permission, you will not receive the broadcast at that time. Though holding this permission does not have any security implications, it can have a negative impact on the user experience by increasing the amount of time it takes the system to start and allowing applications to have themselves running without the user being aware of them. As such, you must explicitly declare your use of this facility to make that visible to the user.

Protection level: normal
Constant Value: “android.permission.RECEIVE_BOOT_COMPLETED”
public static final String RECEIVE_MMS
Added in API level 1
Allows an application to monitor incoming MMS messages.

Protection level: dangerous
Constant Value: “android.permission.RECEIVE_MMS”
public static final String RECEIVE_SMS
Added in API level 1
Allows an application to receive SMS messages.

Protection level: dangerous
Constant Value: “android.permission.RECEIVE_SMS”
public static final String RECEIVE_WAP_PUSH
Added in API level 1
Allows an application to receive WAP push messages.

Protection level: dangerous
Constant Value: “android.permission.RECEIVE_WAP_PUSH”
public static final String RECORD_AUDIO
Added in API level 1
Allows an application to record audio.

Protection level: dangerous
Constant Value: “android.permission.RECORD_AUDIO”
public static final String REORDER_TASKS
Added in API level 1
Allows an application to change the Z-order of tasks.

Protection level: normal
Constant Value: “android.permission.REORDER_TASKS”
public static final String REQUEST_IGNORE_BATTERY_OPTIMIZATIONS
Added in API level 23
Permission an application must hold in order to use ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS. This is a normal permission: an app requesting it will always be granted the permission, without the user needing to approve or see it.
Constant Value: “android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS”
public static final String REQUEST_INSTALL_PACKAGES
Added in API level 23
Allows an application to request installing packages. Apps targeting APIs greater than 22 must hold this permission in order to use ACTION_INSTALL_PACKAGE.

Protection level: normal
Constant Value: “android.permission.REQUEST_INSTALL_PACKAGES”
public static final String RESTART_PACKAGES
Added in API level 1
This constant was deprecated in API level 8.
The restartPackage(String) API is no longer supported.

 

Constant Value: “android.permission.RESTART_PACKAGES”
public static final String SEND_RESPOND_VIA_MESSAGE
Added in API level 18
Allows an application (Phone) to send a request to other applications to handle the respond-via-message action during incoming calls.

Not for use by third-party applications.
Constant Value: “android.permission.SEND_RESPOND_VIA_MESSAGE”
public static final String SEND_SMS
Added in API level 1
Allows an application to send SMS messages.

Protection level: dangerous
Constant Value: “android.permission.SEND_SMS”
public static final String SET_ALARM
Added in API level 9
Allows an application to broadcast an Intent to set an alarm for the user.

Protection level: normal
Constant Value: “com.android.alarm.permission.SET_ALARM”
public static final String SET_ALWAYS_FINISH
Added in API level 1
Allows an application to control whether activities are immediately finished when put in the background.

Not for use by third-party applications.
Constant Value: “android.permission.SET_ALWAYS_FINISH”
public static final String SET_ANIMATION_SCALE
Added in API level 1
Modify the global animation scaling factor.

Not for use by third-party applications.
Constant Value: “android.permission.SET_ANIMATION_SCALE”
public static final String SET_DEBUG_APP
Added in API level 1
Configure an application for debugging.

Not for use by third-party applications.
Constant Value: “android.permission.SET_DEBUG_APP”
public static final String SET_PREFERRED_APPLICATIONS
Added in API level 1
This constant was deprecated in API level 7.
No longer useful, see addPackageToPreferred(String) for details.

 

Constant Value: “android.permission.SET_PREFERRED_APPLICATIONS”
public static final String SET_PROCESS_LIMIT
Added in API level 1
Allows an application to set the maximum number of (not needed) application processes that can be running.

Not for use by third-party applications.
Constant Value: “android.permission.SET_PROCESS_LIMIT”
public static final String SET_TIME
Added in API level 8
Allows applications to set the system time.

Not for use by third-party applications.
Constant Value: “android.permission.SET_TIME”
public static final String SET_TIME_ZONE
Added in API level 1
Allows applications to set the system time zone.

Protection level: normal
Constant Value: “android.permission.SET_TIME_ZONE”
public static final String SET_WALLPAPER
Added in API level 1
Allows applications to set the wallpaper.

Protection level: normal
Constant Value: “android.permission.SET_WALLPAPER”
public static final String SET_WALLPAPER_HINTS
Added in API level 1
Allows applications to set the wallpaper hints.

Protection level: normal
Constant Value: “android.permission.SET_WALLPAPER_HINTS”
public static final String SIGNAL_PERSISTENT_PROCESSES
Added in API level 1
Allow an application to request that a signal be sent to all persistent processes.

Not for use by third-party applications.
Constant Value: “android.permission.SIGNAL_PERSISTENT_PROCESSES”
public static final String STATUS_BAR
Added in API level 1
Allows an application to open, close, or disable the status bar and its icons.

Not for use by third-party applications.
Constant Value: “android.permission.STATUS_BAR”
public static final String SYSTEM_ALERT_WINDOW
Added in API level 1
Allows an app to create windows using the type TYPE_SYSTEM_ALERT, shown on top of all other apps. Very few apps should use this permission; these windows are intended for system-level interaction with the user.

Note: If the app targets API level 23 or higher, the app user must explicitly grant this permission to the app through a permission management screen. The app requests the user’s approval by sending an intent with action ACTION_MANAGE_OVERLAY_PERMISSION. The app can check whether it has this authorization by calling Settings.canDrawOverlays().

Protection level: signature
Constant Value: “android.permission.SYSTEM_ALERT_WINDOW”
public static final String TRANSMIT_IR
Added in API level 19
Allows using the device’s IR transmitter, if available.

Protection level: normal
Constant Value: “android.permission.TRANSMIT_IR”
public static final String UNINSTALL_SHORTCUT
Added in API level 19
Allows an application to uninstall a shortcut in Launcher.

Protection level: normal
Constant Value: “com.android.launcher.permission.UNINSTALL_SHORTCUT”
public static final String UPDATE_DEVICE_STATS
Added in API level 3
Allows an application to update device statistics.

Not for use by third-party applications.
Constant Value: “android.permission.UPDATE_DEVICE_STATS”
public static final String USE_FINGERPRINT
Added in API level 23
Allows an app to use fingerprint hardware.

Protection level: normal
Constant Value: “android.permission.USE_FINGERPRINT”
public static final String USE_SIP
Added in API level 9
Allows an application to use SIP service.

Protection level: dangerous
Constant Value: “android.permission.USE_SIP”
public static final String VIBRATE
Added in API level 1
Allows access to the vibrator.

Protection level: normal
Constant Value: “android.permission.VIBRATE”
public static final String WAKE_LOCK
Added in API level 1
Allows using PowerManager WakeLocks to keep processor from sleeping or screen from dimming.

Protection level: normal
Constant Value: “android.permission.WAKE_LOCK”
public static final String WRITE_APN_SETTINGS
Added in API level 1
Allows applications to write the apn settings.

Not for use by third-party applications.
Constant Value: “android.permission.WRITE_APN_SETTINGS”
public static final String WRITE_CALENDAR
Added in API level 1
Allows an application to write the user’s calendar data.

Protection level: dangerous
Constant Value: “android.permission.WRITE_CALENDAR”
public static final String WRITE_CALL_LOG
Added in API level 16
Allows an application to write (but not read) the user’s contacts data.

Note: If your app uses the WRITE_CONTACTS permission and both your minSdkVersion and targetSdkVersion values are set to 15 or lower, the system implicitly grants your app this permission. If you don’t need this permission, be sure your targetSdkVersion is 16 or higher.

Protection level: dangerous
Constant Value: “android.permission.WRITE_CALL_LOG”
public static final String WRITE_CONTACTS
Added in API level 1
Allows an application to write the user’s contacts data.

Protection level: dangerous
Constant Value: “android.permission.WRITE_CONTACTS”
public static final String WRITE_EXTERNAL_STORAGE
Added in API level 4
Allows an application to write to external storage.

Note: If both your minSdkVersion and targetSdkVersion values are set to 3 or lower, the system implicitly grants your app this permission. If you don’t need this permission, be sure your targetSdkVersion is 4 or higher.

Starting in API level 19, this permission is not required to read/write files in your application-specific directories returned by getExternalFilesDir(String) and getExternalCacheDir().

Protection level: dangerous
Constant Value: “android.permission.WRITE_EXTERNAL_STORAGE”
public static final String WRITE_GSERVICES
Added in API level 1
Allows an application to modify the Google service map.

Not for use by third-party applications.
Constant Value: “android.permission.WRITE_GSERVICES”
public static final String WRITE_SECURE_SETTINGS
Added in API level 3
Allows an application to read or write the secure system settings.

Not for use by third-party applications.
Constant Value: “android.permission.WRITE_SECURE_SETTINGS”
public static final String WRITE_SETTINGS
Added in API level 1
Allows an application to read or write the system settings.

Note: If the app targets API level 23 or higher, the app user must explicitly grant this permission to the app through a permission management screen. The app requests the user’s approval by sending an intent with action ACTION_MANAGE_WRITE_SETTINGS. The app can check whether it has this authorization by calling Settings.System.canWrite().

Protection level: signature
Constant Value: “android.permission.WRITE_SETTINGS”
public static final String WRITE_SYNC_SETTINGS
Added in API level 1
Allows applications to write the sync settings.

Protection level: normal
Constant Value: “android.permission.WRITE_SYNC_SETTINGS”
public static final String WRITE_VOICEMAIL
Added in API level 21
Allows an application to modify and remove existing voicemails in the system.

Protection level: system|signature
Constant Value: “com.android.voicemail.permission.WRITE_VOICEMAIL”
Public Constructors

apk签名

Android系统要求每一个Android应用程序必须要经过数字签名才能够安装到系统中,也就是说如果一个Android应用程序没有经过数字签名,是没有办法安装到系统中的!
Android通过数字签名来标识应用程序的作者和在应用程序之间建立信任关系,不是用来决定最终用户可以安装哪些应用程序。
这个数字签名由应用程序的作者完成,并不需要权威的数字证书签名机构认证,它只是用来让应用程序包自我认证的
假如修改了APK中的一个文件,或者在APK中新加入了一个文件,则需要对APK重新签名,在ubuntu下步骤如下:
需要keytool和jarsigner这2个命令,这2个命令在jdk中
1:我要在APK中添加一个新文件,打开APK是下面这样的
2:加入1个新文件log,删除META-INF(不删除有时签名完不能安装),如下图
3:使用命令获取密钥
命令:
keytool -genkey -v -keystore android.keystore -alias android -keyalg RSA -validity 20000
解释:
keytool -genkey -v -keystore (生成的密钥名称) -alias (密钥别名) -keyalg RSA -validity (有效期)
Android Market强制要求所有应用程序数字证书的有效期要持续到2033年10月22日以后
需要设置密码,可以随便写,但是在签名时要用到,下面的内容都是我随便填的
4:开始签名
命令:
jarsigner -verbose -keystore android.keystore -signedjar ~/Desktop/PlayerProject.apk    PlayerProject.apk android
解释:
jarsigner -verbose -keystore (上面生成的密钥名称) -signedjar (签名后的APK路径)    (签名前的APK路径) (密钥android.keystore的别名)
这里就需要上面设置的密码
5:安装测试
一、安装apktool

1、访问http://code.google.com/p/android-apktool下载apktool-install-linux-*文件与apktool-*文件,将两文件夹内的文件(不带文件夹)解压至/usr/local/bin目录(需要管理员权限)。
2、cd到/usr/local/bin目录,在终端运行apktool命令,即可安装apktool。
apktool 命令
apktool d geek.apk test     反编译(解压) geek.apk到文件夹test
apktool b test geek_2.apk  从文件夹test重建apk

注:执行apktool b test geek_2.apk命令时可能会出现错误,授予/usr/bin/aapt可读写、可执行权限即可解决。




二、签名1、确认已安装Java。
2、在终端执行命令:keytool -genkey -v -keystore android.keystore -alias android -keyalg RSA -validity 20000生成签名( android.keystore为签名名称)
3、使用命令:jarsigner -verbose -keystore android.keystore -signedjar geek_2_signed.apk geek_2.apk android为修改过的程序签名
注:生成的签名应与所需签名程序在同一目录(也可以不在同一目录,具体参考本步骤中2条命令的使用方法)。




三、另附1、keytool用法:
-certreq     [-v] [-protected]

[-alias <别名>] [-sigalg <sigalg>]
[-file <csr_file>] [-keypass <密钥库口令>]
[-keystore <密钥库>] [-storepass <存储库口令>]
[-storetype <存储类型>] [-providername <名称>]
[-providerclass <提供方类名称> [-providerarg <参数>]] …
[-providerpath <路径列表>]

-changealias [-v] [-protected] -alias <别名> -destalias <目标别名>
[-keypass <密钥库口令>]
[-keystore <密钥库>] [-storepass <存储库口令>]
[-storetype <存储类型>] [-providername <名称>]
[-providerclass <提供方类名称> [-providerarg <参数>]] …
[-providerpath <路径列表>]

-delete      [-v] [-protected] -alias <别名>
[-keystore <密钥库>] [-storepass <存储库口令>]
[-storetype <存储类型>] [-providername <名称>]
[-providerclass <提供方类名称> [-providerarg <参数>]] …
[-providerpath <路径列表>]

-exportcert  [-v] [-rfc] [-protected]
[-alias <别名>] [-file <认证文件>]
[-keystore <密钥库>] [-storepass <存储库口令>]
[-storetype <存储类型>] [-providername <名称>]
[-providerclass <提供方类名称> [-providerarg <参数>]] …
[-providerpath <路径列表>]

-genkeypair  [-v] [-protected]
[-alias <别名>]
[-keyalg <keyalg>] [-keysize <密钥大小>]
[-sigalg <sigalg>] [-dname <dname>]
[-validity <valDays>] [-keypass <密钥库口令>]
[-keystore <密钥库>] [-storepass <存储库口令>]
[-storetype <存储类型>] [-providername <名称>]
[-providerclass <提供方类名称> [-providerarg <参数>]] …
[-providerpath <路径列表>]

-genseckey   [-v] [-protected]
[-alias <别名>] [-keypass <密钥库口令>]
[-keyalg <keyalg>] [-keysize <密钥大小>]
[-keystore <密钥库>] [-storepass <存储库口令>]
[-storetype <存储类型>] [-providername <名称>]
[-providerclass <提供方类名称> [-providerarg <参数>]] …
[-providerpath <路径列表>]

-help
-importcert  [-v] [-noprompt] [-trustcacerts] [-protected]
[-alias <别名>]
[-file <认证文件>] [-keypass <密钥库口令>]
[-keystore <密钥库>] [-storepass <存储库口令>]
[-storetype <存储类型>] [-providername <名称>]
[-providerclass <提供方类名称> [-providerarg <参数>]] …
[-providerpath <路径列表>]

-importkeystore [-v]
[-srckeystore <源密钥库>] [-destkeystore <目标密钥库>]
[-srcstoretype <源存储类型>] [-deststoretype <目标存储类型>]
[-srcstorepass <源存储库口令>] [-deststorepass <目标存储库口令>]
[-srcprotected] [-destprotected]
[-srcprovidername <源提供方名称>]
[-destprovidername <目标提供方名称>]
[-srcalias <源别名> [-destalias <目标别名>]
[-srckeypass <源密钥库口令>] [-destkeypass <目标密钥库口令>]]
[-noprompt]
[-providerclass <提供方类名称> [-providerarg <参数>]] …
[-providerpath <路径列表>]

-keypasswd   [-v] [-alias <别名>]
[-keypass <旧密钥库口令>] [-new <新密钥库口令>]
[-keystore <密钥库>] [-storepass <存储库口令>]
[-storetype <存储类型>] [-providername <名称>]
[-providerclass <提供方类名称> [-providerarg <参数>]] …
[-providerpath <路径列表>]

-list        [-v | -rfc] [-protected]
[-alias <别名>]
[-keystore <密钥库>] [-storepass <存储库口令>]
[-storetype <存储类型>] [-providername <名称>]
[-providerclass <提供方类名称> [-providerarg <参数>]] …
[-providerpath <路径列表>]

-printcert   [-v] [-file <认证文件>]
-storepasswd [-v] [-new <新存储库口令>]
[-keystore <密钥库>] [-storepass <存储库口令>]
[-storetype <存储类型>] [-providername <名称>]
[-providerclass <提供方类名称> [-providerarg <参数>]] …
[-providerpath <路径列表>]

2、jarsigner用法: [选项] jar 文件别名
jarsigner -verify [选项] jar 文件

[-keystore <url>]           密钥库位置
[-storepass <口令>]         用于密钥库完整性的口令
[-storetype <类型>]         密钥库类型
[-keypass <口令>]           专用密钥的口令(如果不同)
[-sigfile <文件>]           .SF/.DSA 文件的名称
[-signedjar <文件>]         已签名的 JAR 文件的名称
[-digestalg <算法>]    摘要算法的名称
[-sigalg <算法>]       签名算法的名称
[-verify]                   验证已签名的 JAR 文件
[-verbose]                  签名/验证时输出详细信息
[-certs]                    输出详细信息和验证时显示证书
[-tsa <url>]                时间戳机构的位置
[-tsacert <别名>]           时间戳机构的公共密钥证书
[-altsigner <类>]           替代的签名机制的类名
[-altsignerpath <路径列表>] 替代的签名机制的位置
[-internalsf]               在签名块内包含 .SF 文件
[-sectionsonly]             不计算整个清单的散列
[-protected]                密钥库已保护验证路径
[-providerName <名称>]      提供者名称
[-providerClass <类>        加密服务提供者的名称
[-providerArg <参数>]] … 主类文件和构造函数参数