`
l540151663
  • 浏览: 181053 次
  • 性别: Icon_minigender_1
  • 来自: 浙江
社区版块
存档分类
最新评论

android6.0创建文件问题

 
阅读更多
Android在6.0有了动态权限管理,在文件创建时就需要动态权限。

Android的API对应版本如下:





首先检查并申请权限:
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M){
            int writePermission = checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE);
            if(writePermission != PackageManager.PERMISSION_GRANTED){
                requestPermissions(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},REQUEST_CODE);
                return ;
            }
        }

申请权限回调:
@Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        if(requestCode == REQUEST_CODE){
            if(permissions[0].equals(Manifest.permission.WRITE_EXTERNAL_STORAGE) && grantResults[0] == PackageManager.PERMISSION_GRANTED){
                saveFile();
            }else{
                Toast.makeText(this,"授权失败",Toast.LENGTH_SHORT).show();
            }
        }
    }

保存文件saveFile代码如下:
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
            File file = new File(Environment.getExternalStorageDirectory(), "lmlfiletest.txt");
            if(file.exists()){
                file.delete();
            }
            try {
                FileOutputStream fos = new FileOutputStream(file);
                String info = etInfo.getText().toString();
                fos.write(info.getBytes("utf-8"));
                fos.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
            Toast.makeText(this, "创建成功!", Toast.LENGTH_SHORT).show();
        }

测试成功!

  • 大小: 42.3 KB
  • 大小: 24.3 KB
分享到:
评论

相关推荐

    Android6.0权限DEMO

    Android6.0权限DEMO ,可以配合http://blog.csdn.net/coder_giser/article/details/73505793本文体会。

    TagMeGallery:自定义Android 6.0+图库,可为您的照片创建自定义标签并通过这些标签进行搜索

    自定义Android 6.0+图库,该库允许为您的照片创建自定义标签并通过这些标签进行搜索。 创建的图库应允许用户为其照片分配标签,以及按标签搜索和分组照片。 每张照片最多可以包含16个等效标签。 照片上的标签比按...

    新版本ADT创建Android项目无法自动生成R文件解决办法

    本人使用的是ADT是Version 23.0.2,支持Android 6.0之后的系统环境,最高版本23,在创建Android项目的时候,每次创建项目选择“Compile With”低于6.0版本的时候,都无法自动生成R文件,这个时候MainActivity文件...

    详解Android Studio实现用户登陆界面demo(xml实现)

    使用Android Studio 编写的第一个demo,使用布局文件—xml实现用户登录界面 注:所建工程均为Android 6.0 所以只要是Android 6.0(包括6.0)以上的真机,模拟机都可以使用 Step1:Android Studio 开发环境的搭建: 1...

    Android机器人工作室Ribot-app-android.zip

    PMD and Findbugs for code analysis需求Android SDK.Android 6.0 (API 23) .Android SDK ToolsAndroid SDK Build tools 23.0.1Android Support Repository架构该项目遵循他们团队的Android架构指导方针。...

    在android中增加curl的解决方法

    curl是一个著名的开源文件传输协议实现软件,其中包括了HTTP、HTTPS、FTP等多种常用不常用协议的实现。在curl最新版本的官方源代码中其实已经...创建方法在curl/Android.mk文件头部的注释里有说明。根据这个说明运行co

    Android插件

    比如构建的build 文件夹,本地配置文件,每个Module 生成的iml 文件,但是我们每次add,commit 都会不小心把它们添加上去,而gitignore 就是解决这种痛点的,如果你不想提交的文件,就可以在创建项目的时候将这个...

    java6.0源码-DupsFinder:在指定文件夹中搜索重复文件

    java6.0源码复制品查找器 递归搜索指定文件夹中的重复文件。 该项目的目标是创建一个最快的 Java 实现,同时保持代码干净和易于阅读。 用 Java 编写,没有额外的依赖。 需要 Java 8 和 Maven 来构建。 SHA-1 用作...

    Android获取本机各种类型文件的方法

    本篇介绍Android获取本机各种类型文件的方法,已经封装成工具类,末尾有源码下载地址。 提示 获取音乐、视频、图片、文档等文件是需要有读取SD卡的权限的,如果是6.0以下的系统,则直接在清单文件中声明SD卡读取权限...

    amazon-freertos-ble-android-sdk:适用于FreeRTOS蓝牙设备的Android SDK

    使用适用于FreeRTOS蓝牙设备的Android SDK,您可以创建执行以下操作的移动应用程序: 扫描并连接到附近运行FreeRTOS的BLE设备 连接FreeRTOS BLE设备后执行WiFi置备(仅Espressif ESP32-DevKitC支持) 充当用于在...

    net6-mobile-samples:Xamarin .NET 6 *早期*预览。 不能用于生产

    .NET 6.0.0移动示例这... 工作负载安装程序通过sdk/6.0.100-*/EnableWorkloadResolver.sentinel启用功能标志文件,该文件需要为其他.NET 6版本手动创建。 您可以在库中找到构建的完整列表。 项目: HelloMaui-适用于iO

    android:Sefaz开源Android项目

    创建用于与sefaz进行通信的模型类的xsd文件的类 sefaz-xml 负责在xml中进行序列化和反序列化的模型的解释 塞法兹Android 服务状态 授权 在Android 6.0棉花糖或更高版本上测试 下载 Gradle附属建筑 implementation...

    Android开发人员不得不收集的代码

    createFileByDeleteOldFile : 判断文件是否存在,存在则在创建之前删除 copyDir : 复制目录 copyFile : 复制文件 moveDir : 移动目录 moveFile : 移动文件 deleteDir : 删除目录 deleteFile : 删除文件 ...

    全能签/轻松签软件源 完美修复 无加密 修复一直BUG 附带视频教程

    全能签/轻松签软件源 完美修复 ...创建网站 运行目录public 设置静态thinkphp 修改数据库文件 application/database.php 导入数据库 后台地址域名加admin 该源码是本人亲测“可用可搭建” 所有文件和教程都会打包发布

    BaseFrame:轻松开发Android的基础框架

    该框架封装了基本功能,例如我们使用okhttp的网络框架,Android 6.0的运行权限检查,ORM,从相机或图库或文件系统拍照等。 特征 封装OkHttp。 (包括加载拦截器) 定制的Gson,用于解析服务器响应的null字符串。 ...

    GG即时通讯系统_GGTalk v7.0完整版_新增Xamarin移动端_视频聊天

    GG即时通讯系统GGTalk v6.0更新日志 增加Xamarin移动端,包括 Android 和 iOS! GG即时通讯系统GGTalk源码版已实现的功能 (01)注册、登录、查找用户、添加好友、好友列表。 (02)自拍头像。 (03)文字聊天、...

    手机关电脑

    夹复制到电脑上的任意位置(推荐放到C:/Program File/下),进入该文件,右击Mentohust.exe创建桌面快捷 方式,配置上自己的上网号,密码,IP即可上网。 (如果运行失败,以管理员身份运行Mentohust文件夹下的: ...

    groovy-android-gradle-plugin:一个支持Groovy语言构建Android应用程序的Gradle插件

    当前的解决方法是使用proguard或使用JarJar创建一个没有调用动态类的jar文件。 请参阅以创建您自己的jar,而不必运行proguard。 有关更多详细信息,请参见 。 快速开始 从使用 用法 编辑您的build.gradle文件以包含...

    C# 可在广域网部署运行的即时通讯系统GGTalk-V6.0

    GGTalk开源即时通讯系统(简称GG)是QQ的高仿版,同时支持局域网和广域网,包括客户端(PC客户端、android移动端)、服务端、数据库。 开发环境及GGTalk即时通讯源码说明: 服务端和PC端 :VS2010 ,开发语言:C#, ...

    RxBluetooth:AndroidReact式蓝牙

    完整文件用法创建RxBluetooth实例。 RxBluetooth rxBluetooth = new RxBluetooth ( this ); // `this` is a context 对于android 6.0+,您需要位置权限。 if ( ContextCompat . checkSelfPermission( MainActivity ....

Global site tag (gtag.js) - Google Analytics