import android.Manifest; import android.app.Activity; import android.content.pm.PackageManager; import android.support.v4.app.ActivityCompat; import android.support.v4.content.ContextCompat; /** * Created by smu on 2016/6/16. */ public class AppPermissionRequest { static final int READ_EXTERNAL_STORAGE_REQUEST_CODE = 1000; static final int WRITE_EXTERNAL_STORAGE_REQUEST_CODE = 1001; Activity context; private static AppPermissionRequest ourInstance = new AppPermissionRequest(); public static AppPermissionRequest getInstance() { return ourInstance; } private AppPermissionRequest() { } public void initPermission(Activity context) { this.context = context; } //获取SDK的读写权限 public void sdCardReadPermission() { if (ContextCompat.checkSelfPermission(context, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { //申请WRITE_EXTERNAL_STORAGE权限 ActivityCompat.shouldShowRequestPermissionRationale(context, Manifest.permission.READ_EXTERNAL_STORAGE); ActivityCompat.requestPermissions(context, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, READ_EXTERNAL_STORAGE_REQUEST_CODE); } } public void readContects(){ if (ContextCompat.checkSelfPermission(context,android.Manifest.permission.READ_CONTACTS) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions((Activity) context, new String[]{android.Manifest.permission.READ_CONTACTS}, 1); } } public void sdCardWritePermission() { if(ContextCompat.checkSelfPermission(context, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(context, new String[] {Manifest.permission.WRITE_EXTERNAL_STORAGE}, WRITE_EXTERNAL_STORAGE_REQUEST_CODE); } }
//申请6.0的权限 AppPermissionRequest appPermissionRequest = AppPermissionRequest.getInstance(); appPermissionRequest.initPermission(this); appPermissionRequest.sdCardReadPermission(); //使用sd卡权限 appPermissionRequest.readContects(); //读取用户联系人权限}