<Android>--6.0版本获取运行时的权限方法
来源:互联网 发布:mysql创建索引 编辑:程序博客网 时间:2024/04/29 08:49
介绍
在6.0版本中,安卓让获取敏感权限的方法,不单单在manifest中添加权限那么简单了需要在自己的代码中添加一些权限才行,就拿sdCard来举例
方法
1.判断时候有要用的权限
public boolean hasPermission(String... permissions){ for (String permission:permissions){ if (ContextCompat.checkSelfPermission(this,permission)!=PackageManager.PERMISSION_GRANTED){ return false; } } return true; }
2.添加需求权限
public void requestPermission(int code,String... permissions){ ActivityCompat.requestPermissions(this,permissions,code); }
3.全部代码,是从SDCard相册中将选择的相片添加到自己的imageview中
package com.sdp.panda.imageapp;import android.Manifest;import android.app.Activity;import android.content.Context;import android.content.Intent;import android.content.pm.PackageManager;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.ImageFormat;import android.net.Uri;import android.os.Build;import android.os.Bundle;import android.support.v4.app.ActivityCompat;import android.support.v4.content.ContextCompat;import android.support.v4.content.PermissionChecker;import android.util.Log;import android.view.View;import android.widget.Button;import android.widget.ImageView;import android.widget.Toast;import java.io.IOException;import java.security.Permission;/** * Created by 80926 on 2016/10/27. */public class LocationImageActivity extends Activity{ private int targetSdkVersion; private Button button; private ImageView iv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_location); targetSdkVersion = this.getApplicationInfo().targetSdkVersion; button = (Button) findViewById(R.id.btn_show); iv = (ImageView) findViewById(R.id.iv_xiangce); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(); intent.setType("image/*"); intent.setAction(Intent.ACTION_PICK); startActivityForResult(intent,1); } }); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == 1 && resultCode == RESULT_OK) { Uri imageUri = data.getData(); Log.e("sdp", "onActivityResult:" + imageUri.toString()); if (hasPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE)){ Bitmap bitmap = LruCacheUtils.getInstance().decodeSampleBitmapFromUri(LocationImageActivity.this, imageUri, 900, 900); iv.setImageBitmap(bitmap); }else { requestPermission(1,Manifest.permission.WRITE_EXTERNAL_STORAGE); } } } public boolean hasPermission(String... permissions){ for (String permission:permissions){ if (ContextCompat.checkSelfPermission(this,permission)!=PackageManager.PERMISSION_GRANTED){ return false; } } return true; } public void requestPermission(int code,String... permissions){ ActivityCompat.requestPermissions(this,permissions,code); }}
0 0
- <Android>--6.0版本获取运行时的权限方法
- Android 6.0及以上版本的运行时权限介绍
- Android 6.0及以上版本的运行时权限介绍
- Android 6.0及以上版本的运行时权限介绍
- Android 6.0及以上版本的运行时权限介绍
- android 6.0以上版本 运行时权限
- Android 6.0运行时获取权限详解
- Android 6.0运行时权限获取
- Android 6.0+版本运行时权限的动态申请与主要危险权限组列举
- android 6.0运行时权限检测和从网络上获取数据方法
- Android基础知识---RxPermissions获取运行时权限
- Android动态获取运行时权限RxPermissions
- Android 运行时权限获取-PermissionsDispatcher
- 聊一聊Android 6.0的运行时权限
- 聊一聊Android 6.0的运行时权限
- 聊一聊Android 6.0的运行时权限
- 聊一聊Android 6.0的运行时权限
- 聊一聊Android 6.0的运行时权限
- 解决jsp页面通过EL表达式获取session值,第一次取值为空,必须要重新刷新页面、
- 设置控件圆角,只设置上面两个角的圆角
- C语言 结构对齐
- Windows 下 MySQL-python 的安装
- Android之数据存储详解(三)之网络存储数据
- <Android>--6.0版本获取运行时的权限方法
- 安卓通过itext创建包含中文的pdf出错
- stm32多块开发板can总线互联卡死问题
- JSP标准标签库
- Python练习2
- go 单利写法
- 转载的文章
- 博客刚开通,希望大家多多支持哈~~~~
- Tomcat性能调优