Android M权限管理
2016-05-24 10:59
141 查看
在android6.0,app将不会在安装的时候授予权限。app不得不在运行时一个一个询问用户授予权限。
以下权限,APP在manifest中配置即可,系统不会征求用户同意。PS:不知道被深度定制的系统会不会提醒用户处理
txt_phone.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { int hasPermission = checkSelfPermission(CALL_PHONE_PERMISSION); if (hasPermission == PackageManager.PERMISSION_GRANTED){ //用户同意拨打电话 PhoneUtil.doCallPhone(AboutUsActivity.this, txt_phone.getText().toString().trim()); } else { if (shouldShowRequestPermissionRationale(CALL_PHONE_PERMISSION)){ //提醒用户同意权限 requestPermissions(new String[]{CALL_PHONE_PERMISSION}, CALL_PHONE); } else { //用户在提醒权限的时候点击了不在提醒,这时我们需要给用户一个提醒 ShowToast("大象保险没有拨打电话的权限"); } } } else { PhoneUtil.doCallPhone(AboutUsActivity.this, txt_phone.getText().toString().trim()); } } });
@Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { switch (requestCode) { case CALL_PHONE: if(grantResults[0]==PackageManager.PERMISSION_GRANTED){ //用户同意拨打电话 PhoneUtil.doCallPhone(AboutUsActivity.this, txt_phone.getText().toString().trim()); } break; default: super.onRequestPermissionsResult(requestCode, permissions, grantResults); } }
以下权限,APP在manifest中配置即可,系统不会征求用户同意。PS:不知道被深度定制的系统会不会提醒用户处理
相关文章推荐
- Android中字符串拆分或拼接
- android -fragment 碎片
- Android Volley完全解析(四),从源码的角度理解Volley
- 解决Android Studio的依赖关系
- Android CircleImageView自定义圆环头像控件的使用
- Android WebService(基于SOAP协议)个人记录总结
- Android Volley完全解析(一),Volley的基本用法
- Android平台下Dalvik层hook框架ddi的研究
- Android 应用强制更新策略
- Android设计模式之单例模式
- Android绘图机制与处理技巧
- Android Drawable 那些不为人知的高效用法
- Android开发如何进阶?
- Android SQLite 支持嵌套事务吗?
- Android总结篇
- ubuntu下安装SDK
- 关于Android Fragment初始化
- ImageLoader配置
- Android Studio2.0搭建NDK环境
- Android中Fragment数据保存和恢复