`
l540151663
  • 浏览: 184967 次
  • 性别: 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

    在Android系统的发展历程中,Android 6.0(Marshmallow)引入了一项重大改变,即运行时权限(Runtime Permissions)机制。这个改变显著地影响了应用程序如何处理用户权限,特别是对于那些需要敏感权限如访问联系人、...

    Android6.0API中文手册CHM版

    《Android 6.0 API中文手册》是开发者学习和理解Android 6.0 Marshmallow系统API的重要参考资料。这个CHM版的手册包含了丰富的技术信息,旨在帮助开发者更好地掌握Android平台的开发技能。以下是对其中主要知识点的...

    Android6.0 Settings添加以太网选项

    "Android6.0 Settings添加以太网选项"这个主题意味着我们要在Android 6.0(Marshmallow)的设置应用中新增一个以太网连接的选项,使得设备可以通过有线连接进行网络通信。这通常适用于需要更稳定网络连接的场景,...

    android 6.0 sdk 官方编程范例

    关于文件`android-23`,这通常代表了Android 6.0的SDK平台版本,包含了系统的库、头文件、示例代码以及用于构建和调试应用的各种工具。开发者可以通过这个平台包进行API级别23的开发工作,包括使用Android Studio ...

    支持Android6.0以上的串口so文件

    在Android开发中,SO文件(Shared Object)是用于在Linux系统上执行的动态链接库,...通过修改源代码、优化链接器脚本和调整编译选项,可以创建适用于Android 6.0及以上版本的串口通信SO文件,满足不同硬件架构的需求。

    安卓6.0开发 SDK android6.0 android-23 下载

    2. **创建项目**:在Android Studio中选择新项目,选择Android 6.0作为目标平台,然后配置项目结构和依赖库。 3. **编写代码**:使用Java或Kotlin语言编写应用逻辑,利用Android SDK提供的API来实现功能。 4. **...

    安卓6.0 sdk-23版本Android sdk

    这些组件协同工作,帮助开发者创建兼容Android 6.0的应用。其中,API级别23对应的是Android 6.0,它引入了多项关键更新和新特性,例如: 1. **运行时权限**:在Android 6.0之前,应用在安装时需要获取所有权限,但...

    Android 6.0 AS平台 JNI 实验

    Android 6.0 平台上使用Android Studio (AS) 进行JNI开发是一个常见的实践,JNI(Java Native Interface)允许Java代码与其他编程语言(如C++)进行交互,以利用其性能优势或调用特定库。这个实验将带你了解如何在...

    Android6.0权限工具类

    以下是对"Android6.0权限工具类"的详细解释和相关知识点。 1. **运行时权限**:在Android 6.0之前,应用在安装时会自动获得清单文件中声明的所有权限。但在6.0之后,针对如读取联系人、访问位置等敏感权限,应用...

    Launcher源码(Android 6.0系统原生)

    7. **UI/UX设计**:分析布局文件,学习如何创建和定制Android用户界面。 8. **自动化脚本**:理解如何使用Python脚本进行系统级别的任务自动化。 这个源码提供了深入Android系统启动器内部的机会,对提升Android...

    Android 6.0 Launcher3 增加屏幕切换动画

    在Android 6.0(Marshmallow)版本中,开发者对Launcher3进行了重大改进,其中包括引入了新的屏幕切换动画,提升了用户体验。本文将深入探讨这个新增功能及其背后的实现原理。 首先,屏幕切换动画在Android中扮演着...

    Android6.0移植tslib库

    然后,创建或修改Android.mk文件,定义编译规则,使编译系统能够识别并编译tslib。你需要指定源文件路径、库类型(SHARED或STATIC)、依赖库等信息。 3. 更新BoardConfig.mk:在设备特定的BoardConfig.mk文件中,...

    Android6.0 获取手机视屏路径 转换成缩略图

    Android 6.0(API级别23)引入了一些重要的权限管理变化,即运行时权限模型,这对获取视频路径和创建缩略图的操作带来了额外的挑战。以下是关于这个主题的详细知识点: 1. **Android 6.0权限管理**: - 在Android ...

    Eclipse适用android 6.0的ADT23.0.7下载地址

    7. **ADT-23.0.7下载地址.txt**:这个文件很可能是指向ADT 23.0.7安装包的下载链接,开发者需要这个文件来获取并安装对应的ADT插件,以便在Eclipse中进行Android 6.0应用的开发。 总结来说,这个资源是针对那些喜欢...

    android 6.0修改静态ip

    在提供的文件`IpTest`中,可能包含了具体的代码实现或测试案例,你可以根据这个文件进一步学习和理解如何在Android 6.0上实现静态IP的修改。如果你需要更多关于3.0、4.0、5.0版本的信息,可以在相应的资源中查找。

    简单实现Android 6.0指纹识别Demo

    在Android 6.0(Marshmallow)及以上版本,系统引入了对硬件指纹识别的支持,使得开发者可以方便地在应用程序中集成这一功能。本教程将详细解释如何在Android应用中实现指纹识别,主要针对初级到中级的Android开发者...

    rk平台android6.0系统栏以广播的方式显示与隐藏

    总结来说,通过创建BroadcastReceiver监听特定广播,并结合WindowManager.LayoutParams对象的使用,可以在Android 6.0的rk平台(如rk3288或rk3368)上灵活控制状态栏和导航栏的显示与隐藏。同时,利用系统属性`def_...

    android 6.0 指纹识别 finger (eclipse版)

    在Android 6.0(API级别23)中,系统引入了对指纹识别的支持,使得开发者可以集成这一安全特性到他们的应用中。本教程将详细讲解如何在Eclipse环境中为Android应用实现指纹识别功能,虽然现代开发普遍转向Android ...

    Android6.0

    `android6.0permission封装`文件很可能是开发者为了方便使用运行时权限管理而创建的一个自定义基类或库。封装通常意味着将复杂的操作抽象到一个单独的模块中,以便在多个地方重用。在这个场景下,封装可能包括了...

Global site tag (gtag.js) - Google Analytics