- 浏览: 181353 次
- 性别:
- 来自: 浙江
文章分类
最新评论
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();
}
测试成功!
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();
}
测试成功!
发表评论
-
关于Android的webSocket的简单使用
2017-05-12 14:34 928使用第三方jar: autobahn-0.5.0.jar 连 ... -
Comparator自定义排序的使用
2017-05-11 14:18 717java对于集合的自定义排序方法有: Arrays.sort ... -
查看Android虚拟机文件相关命令
2017-05-02 14:12 523我们在虚拟机下添加文件后,想查看下文件是否正确创建,可在win ... -
xutils的http模块的简单使用
2017-04-28 16:05 485先导入xutils相关依赖: compile 'org.xut ... -
Litepal的简单使用
2017-04-27 17:21 599相关包下载地址:https://github.com/Lite ... -
Android下拉刷新上拉加载控件的使用
2017-04-21 10:46 799参考链接:http://www.jianshu.com/p/6 ... -
图片加载框架
2017-04-19 16:29 366图片加载框架: picasso ImageLoader -
Android的Service总结
2017-04-17 15:46 419参考链接:http://www.cnblogs.com/lwb ... -
解决ViewPager的addOnPageChangeListener不加载第一个的问题
2017-03-18 17:53 2588今天在使用ViewPager的时候发现个问题。 需求如下: ... -
clone方法的使用
2017-01-04 10:14 518由于Java有引用这一说,当两个变量指向同一块内存时,改变 ... -
Fragment无法切换问题
2016-12-16 14:57 2074Android有一个回收机制,当内存不足时,会自动回收相关内存 ... -
关于Material Design的CollapsingToolbarLayout初次使用
2016-12-16 13:38 575最近了解了下CollapsingToolbarLayout的使 ... -
MVP模式的学习
2016-12-10 15:15 617以前我写代码都是使用MVC模式,这种模式使Activity变得 ... -
Material Design:Android Design Support Library 介绍
2016-12-10 14:14 427参考链接 : https://blog.leancloud.c ... -
SpannableString简介
2016-12-10 14:03 386参考链接: http://www.cnblogs.com/ji ... -
getResources().getDrawable方法的废弃
2016-12-10 13:20 1162参考链接:http://www.jianshu.com/p/e ... -
关于AndroidStudio的Unsupported major.minor version 52.0异常
2016-12-10 13:15 2339参考链接:http://blog.csdn.net/fakin ... -
Android记录
2015-06-01 10:54 607http://tools.android-studio.org ... -
android自定义控件相关使用
2015-04-24 16:53 572用代码简单介绍下自定义控件的使用: 先看主activity: ... -
android使用html标签
2015-03-13 20:42 650有些时候我们需要在一个textview上,对部分字体进行特殊效 ...
相关推荐
Android6.0权限DEMO ,可以配合http://blog.csdn.net/coder_giser/article/details/73505793本文体会。
自定义Android 6.0+图库,该库允许为您的照片创建自定义标签并通过这些标签进行搜索。 创建的图库应允许用户为其照片分配标签,以及按标签搜索和分组照片。 每张照片最多可以包含16个等效标签。 照片上的标签比按...
本人使用的是ADT是Version 23.0.2,支持Android 6.0之后的系统环境,最高版本23,在创建Android项目的时候,每次创建项目选择“Compile With”低于6.0版本的时候,都无法自动生成R文件,这个时候MainActivity文件...
使用Android Studio 编写的第一个demo,使用布局文件—xml实现用户登录界面 注:所建工程均为Android 6.0 所以只要是Android 6.0(包括6.0)以上的真机,模拟机都可以使用 Step1:Android Studio 开发环境的搭建: 1...
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架构指导方针。...
curl是一个著名的开源文件传输协议实现软件,其中包括了HTTP、HTTPS、FTP等多种常用不常用协议的实现。在curl最新版本的官方源代码中其实已经...创建方法在curl/Android.mk文件头部的注释里有说明。根据这个说明运行co
比如构建的build 文件夹,本地配置文件,每个Module 生成的iml 文件,但是我们每次add,commit 都会不小心把它们添加上去,而gitignore 就是解决这种痛点的,如果你不想提交的文件,就可以在创建项目的时候将这个...
java6.0源码复制品查找器 递归搜索指定文件夹中的重复文件。 该项目的目标是创建一个最快的 Java 实现,同时保持代码干净和易于阅读。 用 Java 编写,没有额外的依赖。 需要 Java 8 和 Maven 来构建。 SHA-1 用作...
本篇介绍Android获取本机各种类型文件的方法,已经封装成工具类,末尾有源码下载地址。 提示 获取音乐、视频、图片、文档等文件是需要有读取SD卡的权限的,如果是6.0以下的系统,则直接在清单文件中声明SD卡读取权限...
使用适用于FreeRTOS蓝牙设备的Android SDK,您可以创建执行以下操作的移动应用程序: 扫描并连接到附近运行FreeRTOS的BLE设备 连接FreeRTOS BLE设备后执行WiFi置备(仅Espressif ESP32-DevKitC支持) 充当用于在...
.NET 6.0.0移动示例这... 工作负载安装程序通过sdk/6.0.100-*/EnableWorkloadResolver.sentinel启用功能标志文件,该文件需要为其他.NET 6版本手动创建。 您可以在库中找到构建的完整列表。 项目: HelloMaui-适用于iO
创建用于与sefaz进行通信的模型类的xsd文件的类 sefaz-xml 负责在xml中进行序列化和反序列化的模型的解释 塞法兹Android 服务状态 授权 在Android 6.0棉花糖或更高版本上测试 下载 Gradle附属建筑 implementation...
createFileByDeleteOldFile : 判断文件是否存在,存在则在创建之前删除 copyDir : 复制目录 copyFile : 复制文件 moveDir : 移动目录 moveFile : 移动文件 deleteDir : 删除目录 deleteFile : 删除文件 ...
全能签/轻松签软件源 完美修复 ...创建网站 运行目录public 设置静态thinkphp 修改数据库文件 application/database.php 导入数据库 后台地址域名加admin 该源码是本人亲测“可用可搭建” 所有文件和教程都会打包发布
该框架封装了基本功能,例如我们使用okhttp的网络框架,Android 6.0的运行权限检查,ORM,从相机或图库或文件系统拍照等。 特征 封装OkHttp。 (包括加载拦截器) 定制的Gson,用于解析服务器响应的null字符串。 ...
GG即时通讯系统GGTalk v6.0更新日志 增加Xamarin移动端,包括 Android 和 iOS! GG即时通讯系统GGTalk源码版已实现的功能 (01)注册、登录、查找用户、添加好友、好友列表。 (02)自拍头像。 (03)文字聊天、...
夹复制到电脑上的任意位置(推荐放到C:/Program File/下),进入该文件,右击Mentohust.exe创建桌面快捷 方式,配置上自己的上网号,密码,IP即可上网。 (如果运行失败,以管理员身份运行Mentohust文件夹下的: ...
当前的解决方法是使用proguard或使用JarJar创建一个没有调用动态类的jar文件。 请参阅以创建您自己的jar,而不必运行proguard。 有关更多详细信息,请参见 。 快速开始 从使用 用法 编辑您的build.gradle文件以包含...
GGTalk开源即时通讯系统(简称GG)是QQ的高仿版,同时支持局域网和广域网,包括客户端(PC客户端、android移动端)、服务端、数据库。 开发环境及GGTalk即时通讯源码说明: 服务端和PC端 :VS2010 ,开发语言:C#, ...
完整文件用法创建RxBluetooth实例。 RxBluetooth rxBluetooth = new RxBluetooth ( this ); // `this` is a context 对于android 6.0+,您需要位置权限。 if ( ContextCompat . checkSelfPermission( MainActivity ....