在dos命令行中输入adb shell pm list permissions -d -g便可得到如下危险权限:

C:\Users\Administrator.PC-20160322ZIOG>adb shell pm list permissions -d -g

Dangerous Permissions:

group:com.google.android.gms.permission.CAR_INFORMATION

permission:com.google.android.gms.permission.CAR_VENDOR_EXTENSION

permission:com.google.android.gms.permission.CAR_MILEAGE

permission:com.google.android.gms.permission.CAR_FUEL

group:android.permission-group.CONTACTS

permission:android.permission.WRITE_CONTACTS

《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》

开源分享完整内容戳这里

permission:android.permission.GET_ACCOUNTS

permission:android.permission.READ_CONTACTS

group:android.permission-group.PHONE

permission:android.permission.READ_CALL_LOG

permission:android.permission.READ_PHONE_STATE

permission:android.permission.CALL_PHONE

permission:android.permission.WRITE_CALL_LOG

permission:android.permission.USE_SIP

permission:android.permission.PROCESS_OUTGOING_CALLS

permission:com.android.voicemail.permission.ADD_VOICEMAIL

group:android.permission-group.CALENDAR

permission:android.permission.READ_CALENDAR

permission:android.permission.WRITE_CALENDAR

group:android.permission-group.CAMERA

permission:android.permission.CAMERA

group:android.permission-group.SENSORS

permission:android.permission.BODY_SENSORS

group:android.permission-group.LOCATION

permission:android.permission.ACCESS_FINE_LOCATION

permission:com.google.android.gms.permission.CAR_SPEED

permission:android.permission.ACCESS_COARSE_LOCATION

group:android.permission-group.STORAGE

permission:android.permission.READ_EXTERNAL_STORAGE

permission:android.permission.WRITE_EXTERNAL_STORAGE

group:com.sina.weibo.permission-group

permission:com.sina.weibo.permission.USER

group:android.permission-group.MICROPHONE

permission:android.permission.RECORD_AUDIO

group:android.permission-group.SMS

permission:android.permission.READ_SMS

permission:android.permission.RECEIVE_WAP_PUSH

permission:android.permission.RECEIVE_MMS

permission:android.permission.RECEIVE_SMS

permission:android.permission.SEND_SMS

permission:android.permission.READ_CELL_BROADCASTS

ungrouped:

permission:com.huawei.pushagent.permission.RICHMEDIA_PROVIDER

permission:com.huawei.permission.ACCESS_FM

permission:com.huawei.motion.permission.MOTION_EX

permission:org.fidoalliance.uaf.permissions.FIDO_CLIENT

permission:com.huawei.contacts.permission.CHOOSE_SUBSCRIPTION

通过观察可以发现危险权限都是成组出现的,我们将其称之为权限组,如果用户允许了一组权限中的一个那么就等于允许了这一组中所有的权限(目前是这样的)。

下面我们以申请拨打电话的权限来介绍如何向用户申请授权:

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

private static final int CALL_PHONE_REQUESTCODE = 0;//申请打电话权限的请求码,≥0即可

private View mCall;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

initView();

initData();

initListener();

}

public void initView() {

mCall = findViewById(R.id.call);

}

public void initData() {}

public void initListener() {

mCall.setOnClickListener(this);

}

@Override

public void onClick(View v) {

switch (v.getId()) {

case R.id.call:

performClickCall();

break;

default:

break;

}

}

private void performClickCall() {

//检测是否有拨打电话的权限

int checkSelfPermission = ContextCompat.checkSelfPermission(this, Manifest.permission.CALL_PHONE);

if (checkSelfPermission == PackageManager.PERMISSION_GRANTED) {

call();//打电话

} else {

ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CALL_PHONE}, CALL_PHONE_REQUESTCODE);//动态申请打电话权限

}

}

/**

  • 拨打电话的方法

*/

private void call() {

Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse(“tel:10086”));

startActivity(intent);

}

/**

  • 动态申请权限的回调

  • @param requestCode 请求码,如果请求多个权限时,用以区分是哪个权限

  • @param permissions 权限数组

  • @param grantResults 权限是否授权的结果数组

*/

@Override

public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {

super.onRequestPermissionsResult(requestCode, permissions, grantResults);

switch (requestCode) {

case CALL_PHONE_REQUESTCODE:

if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {

call();

} else {

Android6,androidstudio游戏开发教程相关推荐

  1. 仙剑奇侠传 游戏 开发 教程 Xianjian qixia development Game development tutorial

    仙剑奇侠传 开发  游戏 开发 教程 Xianjian qixia development Game development tutorial 作者:韩梦飞沙 Author:han_meng_fei_ ...

  2. Unity 2D游戏开发教程之摄像头追踪功能

    Unity 2D游戏开发教程之摄像头追踪功能 上一章,我们创建了一个简单的2D游戏.此游戏中的精灵有3个状态:idle.left和right.这看起来确实很酷!但是仅有的3个状态却限制了精灵的能力,以 ...

  3. 微信小游戏开发教程-游戏实现3

    微信小游戏开发教程-游戏实现3 对象池 由于游戏过程中会创建很多临时对象,这些对象很快又不再使用,垃圾回收器也能帮我们主动回收这部分垃圾,但是回收时间不可控制,同时增大了创建对象的开销,所以我们使用对 ...

  4. 微信小游戏开发教程-游戏实现2

    微信小游戏开发教程-游戏实现2 绘制地面 类似于绘制背景,读者自行完成代码.src/runtime/land.js 简易View系统 坐标布局对于复杂的页面来说维护相当困难,因此这里我们引入布局的概念 ...

  5. 微信小游戏开发教程-游戏实现1

    微信小游戏开发教程-游戏实现1 概述 微信开发者工具官方提供一个飞机大战的游戏Demo,这里我们不再使用这个demo,我们以FlappyBird为例,为了让读者更加容易理解. 源码 https://g ...

  6. 微信小游戏开发教程-2D游戏原理讲解

    微信小游戏开发教程-2D游戏原理讲解 原理 为了更加形象的描述,这里先上一张图: 背景 a. 首先,我们看到背景好像是一张无限长的图片在向下移动.实际则不然,这是一张顶部和底部刚好重叠的图片.这是一种 ...

  7. 微信小游戏开发教程-新建项目

    微信小游戏开发教程-新建项目 1. 新建小游戏项目 我们这回使用空项目,不要勾选使用模板创建. 2. 添加小游戏必要文件 项目创建好以后我们发现缺少一些必要的文件,我们手动添加即可: game.jso ...

  8. Unity 2D游戏开发教程之游戏中精灵的跳跃状态

    Unity 2D游戏开发教程之游戏中精灵的跳跃状态 精灵的跳跃状态 为了让游戏中的精灵有更大的活动范围,上一节为游戏场景添加了多个地面,于是精灵可以从高的地面移动到低的地面处,如图2-14所示.但是却 ...

  9. Unity 2D游戏开发教程之为游戏场景添加多个地面

    Unity 2D游戏开发教程之为游戏场景添加多个地面 为游戏场景添加多个地面 显然,只有一个地面的游戏场景太小了,根本不够精灵四处活动的.那么,本节就来介绍一种简单的方法,可以为游戏场景添加多个地面. ...

  10. Unity 2D游戏开发教程之精灵的死亡和重生

    Unity 2D游戏开发教程之精灵的死亡和重生 精灵的死亡和重生 目前为止,游戏项目里的精灵只有Idle和Walking这两种状态.也就是说,无论精灵在游戏里做什么,它都不会进入其它的状态,如死亡.于 ...

最新文章

  1. Android studio听云接入另外一种方式
  2. SYMBDSNAP_SDK[3943]: Failed to open device: /dev/symbdsnapctl, errno: 2
  3. boost::units模块实现确保最小的 + - * / 单元类功能齐全的测试程序
  4. acwing 7 混合背包
  5. mysql数据库主要负责存储_MySQL默认数据库简介
  6. SQL Server中删除重复数据的2个方法
  7. mysql复制状态是什么意思_mysql8 参考手册--复制从SQL线程状态
  8. OpenShift 4 之Knative(2) - 第一个Serverless应用
  9. springmvc中实现quartz定时任务
  10. 免费版本的mysql与收费版本的区别
  11. jquery抽奖转盘java,jquery——九宫格大转盘抽奖实例
  12. 艺工交叉——观《达芬奇的人生密码》有感
  13. 路由器、交换机、集线器
  14. GRUB4DOS资源索引帖,欢迎跟帖补充
  15. HAUT 1285: 军团再临【并查集*逆向思维】
  16. 阿里云与华为USG防火墙IPSEC对接
  17. 做个很小众的应用就可以月入数万,为什么多数程序员都不做个人开发?
  18. node.js实现图片裁剪+获取图片大小+加logo水印
  19. 《安富莱嵌入式周报》第298期:迷你火星探测器,开源单片机3D实时渲染库, 开源USB工业相机,VS2022开始支持MarkDown,PC-lint 2.0发布
  20. Leetcode之恰有K根木棍可以看到的排列数目

热门文章

  1. idea 中 配置tomcat 启动 jsp项目
  2. java url编码和js的url编码_Java URLEncoder与URLDecoder编码解码使用示例
  3. IDEA几款不错的基于Darcula的深色主题
  4. i2c-tools安装与使用总结
  5. PMP考试重点总结二——启动过程组
  6. rar linux下载64位下载地址,Linux中下载WinRAR并使用它解压rar文件
  7. 全国各地区数据库百度云链接(参考京东收货地址)
  8. linux 使用ACR122U-A9设备读写M1卡
  9. (已更新)婚礼类小程序前端界面模板源码
  10. 批量导入经纬度点到奥维地图中