Andriod7.0获取手机权限
2017-08-31 11:09
225 查看
Andriod7.0获取手机权限
大家好,这是我写的第二篇 博客,哈哈,希望能帮到需要帮助的人,写的不好,也希望能请大家给我指出,谢谢!
正如我们所知,安卓中添加权限,一般都是在
这里面写上
但是现在7.0的手机,对于一些隐私权限不会直接触发允许功能,所以就需要我们在界面的首页自动去向用户请求获取相应权限。
首先重写onRequestPermissionsResult()这个方法,这里面我用到String[] permissions,是因为获取的不止一个权限,所以就用数组放在一起。
这里我要获取的是本地IMSI和IMEI号。
在app进去的界面中,调用这个方法,会先判断有没有获取到所想要的东西,如果没有就会请求允许界面,不是7.0的系统能够获取到权限,那自然就不需要再走这个方法。
刚刚跟朋友说 朋友说需要用到support-v4这个jar包
我这里用的是 compile ‘com.android.support:support-v4:25.3.1’
好了就到这,希望能对你有所帮助,谢谢!
大家好,这是我写的第二篇 博客,哈哈,希望能帮到需要帮助的人,写的不好,也希望能请大家给我指出,谢谢!
正如我们所知,安卓中添加权限,一般都是在
这里面写上
<uses-permission android:name="android.permission.CALL_PHONE" />
但是现在7.0的手机,对于一些隐私权限不会直接触发允许功能,所以就需要我们在界面的首页自动去向用户请求获取相应权限。
@Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { switch (requestCode){ case 123: List<String> denied = new ArrayList<String>(); for (int i = 0; i < permissions.length; i++){ if(grantResults[i] == PackageManager.PERMISSION_DENIED){ denied.add(permissions[i]); } } onPermission(denied.toArray(new String[denied.size()])); break; } }
首先重写onRequestPermissionsResult()这个方法,这里面我用到String[] permissions,是因为获取的不止一个权限,所以就用数组放在一起。
private void onPermission(String[] strings) { if (strings.length > 0){ Toast.makeText(this, "访问需要获取电话和存储权限!",Toast.LENGTH_LONG).show(); return; } if(new SMTools(this).getIMSI()==null){ MyApplication.IMEI = new SMTools(this).getIMEI(); }else{ MyApplication.IMEI = new SMTools(this).getIMSI(); } Tools.getInstance().setImsi(new SMTools(this).getIMSI()); Tools.getInstance().setImei(new SMTools(this).getIMEI()); }
这里我要获取的是本地IMSI和IMEI号。
private void getPermission(){ String[] permissions = {Manifest.permission.READ_PHONE_STATE, Manifest.permission.WRITE_EXTERNAL_STORAGE}; List<String> permissionsList = new ArrayList<String>(); for (int i = 0; i < permissions.length; i++){ if (ActivityCompat.checkSelfPermission(this, permissions[i]) != PackageManager.PERMISSION_GRANTED) { permissionsList.add(permissions[i]); } } if (permissionsList.size() > 0){ ActivityCompat.requestPermissions(this, permissionsList.toArray(new String[permissionsList.size()]), 123); }else { onPermission(new String[]{}); } }
在app进去的界面中,调用这个方法,会先判断有没有获取到所想要的东西,如果没有就会请求允许界面,不是7.0的系统能够获取到权限,那自然就不需要再走这个方法。
刚刚跟朋友说 朋友说需要用到support-v4这个jar包
我这里用的是 compile ‘com.android.support:support-v4:25.3.1’
好了就到这,希望能对你有所帮助,谢谢!
相关文章推荐
- android 6.0 7.0动态获取权限
- adb命令获取手机data文件权限
- 刷recovery.img获取手机root权限
- 动态的开启手机权限(获取位置权限)
- Android编程获取手机root权限
- h5 获取手机权限
- android开发学习(二)——保存文件到手机内存和SD卡,文件访问权限,获取内存大小
- 有没有方法能够自动获取手机的“有权查看使用情况”这个权限
- Android用代码获取手机root之后的最高权限
- 判断是否获取到手机相机权限
- 手机联系人权限 - 获取手机联系人
- Android手机获取相机权限终极大招(兼容国产手机小米华为魅族以及6.0以下系统)
- Android手机获取权限问题
- Android手机root权限的判断与获取
- 在Android中快速获取手机的高级权限
- Android编程获取手机root权限问题
- Android编程获取手机root权限问题
- 有没有方法能够自动获取手机的“有权查看使用情况”这个权限
- 一键root手机,快速获取权限的方法
- 一个获取Android手机root权限的程序