//读写文件权限申请if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {    // 判断是否有这个权限,是返回PackageManager.PERMISSION_GRANTED,否则是PERMISSION_DENIED    // 这里我们要给应用授权所以是!= PackageManager.PERMISSION_GRANTED    if (ContextCompat.checkSelfPermission(this,            Manifest.permission.WRITE_EXTERNAL_STORAGE)            != PackageManager.PERMISSION_GRANTED) {        Log.i(TAG, "222222222222222222222222");        // 如果应用之前请求过此权限但用户拒绝了请求,且没有选择"不再提醒"选项 (后显示对话框解释为啥要这个权限),此方法将返回 true。        if (ActivityCompat.shouldShowRequestPermissionRationale(this,                Manifest.permission.WRITE_EXTERNAL_STORAGE)) {            Log.i(TAG, "3333333333333333333333333");        } else {            Log.i(TAG, "88888888888888888888888");            // requestPermissions以标准对话框形式请求权限。123是识别码(任意设置的整型),用来识别权限。应用无法配置或更改此对话框。            //当应用请求权限时,系统将向用户显示一个对话框。当用户响应时,系统将调用应用的 onRequestPermissionsResult() 方法,向其传递用户响应。您的应用必须替换该方法,以了解是否已获得相应权限。回调会将您传递的相同请求代码传递给 requestPermissions()。            ActivityCompat.requestPermissions(this,                    new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},                    100);        }    }    Log.i(TAG, "5555555555555555555555555");} else {    Log.i(TAG, "6666666666666666666666666");}
@Overridepublic void onRequestPermissionsResult(int requestCode,                                       String permissions[], int[] grantResults) {    switch (requestCode) {        case 100: {            // If request is cancelled, the result arrays are empty.            if (grantResults.length > 0                    && grantResults[0] == PackageManager.PERMISSION_GRANTED) {                //这里的两句语句是我写的创建文件的语句,在授权成功是时候会调用这里的语句。                // permission was granted, yay! Do the                // contacts-related task you need to do.            } else {                // permission denied, boo! Disable the                // functionality that depends on this permission.            }            return;        }        // other 'case' lines to check for other        // permissions this app might request    }}

//下面代码是在手机系统根目录上创建一个名为Camera的文件夹

String path = Environment.getExternalStorageDirectory().getAbsolutePath() + "/Camera/";具体代码:private void screenShot() {    String picPath = null;    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {        String path = Environment.getExternalStorageDirectory().getAbsolutePath() + "/Camera/";        File file = new File(path);        if (!file.exists()) {            file.mkdirs();        } else {                  }        picPath = path + System.currentTimeMillis() + ".png";    }    Log.i(TAG, "截图路径 : " + picPath);  //TODO:编写写入文件代码,}

 

 

更多相关文章

  1. Android中不同应用间实现SharedPreferences数据共享
  2. 关于Android(安卓)Studio3.2新建项目Android(安卓)resource link
  3. Android(安卓)- Manifest 文件 详解
  4. Android之应用程序基础
  5. Android四大组件的理解
  6. Android(安卓)给 app默认权限(不弹窗申请权限)
  7. Android官方入门文档[1]创建一个Android项目
  8. Andorid Dialog 示例【慢慢更新】
  9. 第三章 Android程序设计基础

随机推荐

  1. 用Visual Studio 2010开发Android应用
  2. 关于Android的prelink
  3. Android(安卓)Wifi --自动连接指定SSID(各
  4. 使用 Android Studio 跑新浪微博SDK Demo
  5. 布局初步
  6. Android(安卓)【将图片网址Url转化为Bitm
  7. Android Handler机制之Message的发送与取
  8. Android(安卓)-- PowerManager和PowerMan
  9. 什么是mono for android(使用C#开发androi
  10. Android之Application Fundamentals