当前位置: 首页 > news >正文

企业网站推广策划书吉安网站制作

企业网站推广策划书,吉安网站制作,vs2010做网站前台,做淘宝站外推广网站Android Q升级了文件系统#xff0c;访问文件不仅仅是说动态权限了#xff0c;有各种限制。权限什么的就不赘述了#xff0c;下面介绍一下在10以上的系统中访问文件。 首先是打开文件管理器 /*** 打开文件管理器 存储卡和外接U盘都可以访问*/public void openFileManager()…Android Q升级了文件系统访问文件不仅仅是说动态权限了有各种限制。权限什么的就不赘述了下面介绍一下在10以上的系统中访问文件。 首先是打开文件管理器 /*** 打开文件管理器 存储卡和外接U盘都可以访问*/public void openFileManager() {Intent intent new Intent(Intent.ACTION_OPEN_DOCUMENT);intent.addCategory(Intent.CATEGORY_OPENABLE);intent.setType(text/*);startActivityForResult(intent, REQUEST_CODE_FILE);} 这个setType可以根据自己的需要设置MIME类型设置要访问什么类型的文件。具体MIME可以参考MIME类型-CSDN博客 然后会打开文件管理器这里面可以访问手机存储的文件或者外插U盘内的文件就根据自己需求选择文件就可以了。 选中的文件会在onActivityResult中返回 Overrideprotected void onActivityResult(int requestCode, int resultCode, Nullable Intent data) {super.onActivityResult(requestCode, resultCode, data);if (resultCode RESULT_OK requestCode REQUEST_CODE_FILE){//拿到需要解析的文件Uri uri data.getData();String filePath FileHelper.getFileAbsolutePath(this,uri);if (!TextUtils.isEmpty(filePath)){parseFile new File(filePath);binding.tvFileName.setText(parseFile.getName());readFile();}}} 这里关键的一点就是把拿到的uri转换成filePath了转换成路径之后就可以读文件根据需求进行操作了。这个FileHelper转自Android打开系统文件管理器并获取选中文件的路径适配Android10及以上无法获取路径_intent.settype获取文件-CSDN博客 package com.......utils;import android.content.ContentResolver; import android.content.ContentUris; import android.content.Context; import android.database.Cursor; import android.net.Uri; import android.os.Build; import android.os.Environment; import android.os.FileUtils; import android.provider.DocumentsContract; import android.provider.MediaStore; import android.provider.OpenableColumns;import androidx.annotation.RequiresApi;import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream;/*** * Description:通过uri获取本地文件的绝对路径* p* */ public class FileHelper {/*** 根据Uri获取文件绝对路径解决Android4.4以上版本Uri转换** param context* param imageUri*/public static String getFileAbsolutePath(Context context, Uri imageUri) {if (context null || imageUri null) {return null;}if (android.os.Build.VERSION.SDK_INT android.os.Build.VERSION_CODES.KITKAT) {return getRealFilePath(context, imageUri);}if (android.os.Build.VERSION.SDK_INT android.os.Build.VERSION_CODES.KITKAT android.os.Build.VERSION.SDK_INT Build.VERSION_CODES.Q DocumentsContract.isDocumentUri(context, imageUri)) {if (isExternalStorageDocument(imageUri)) {String docId DocumentsContract.getDocumentId(imageUri);String[] split docId.split(:);String type split[0];if (primary.equalsIgnoreCase(type)) {return Environment.getExternalStorageDirectory() / split[1];}} else if (isDownloadsDocument(imageUri)) {String id DocumentsContract.getDocumentId(imageUri);Uri contentUri ContentUris.withAppendedId(Uri.parse(content://downloads/public_downloads), Long.valueOf(id));return getDataColumn(context, contentUri, null, null);} else if (isMediaDocument(imageUri)) {String docId DocumentsContract.getDocumentId(imageUri);String[] split docId.split(:);String type split[0];Uri contentUri null;if (image.equals(type)) {contentUri MediaStore.Images.Media.EXTERNAL_CONTENT_URI;} else if (video.equals(type)) {contentUri MediaStore.Video.Media.EXTERNAL_CONTENT_URI;} else if (audio.equals(type)) {contentUri MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;}String selection MediaStore.Images.Media._ID ?;String[] selectionArgs new String[]{split[1]};return getDataColumn(context, contentUri, selection, selectionArgs);}} // MediaStore (and general)if (android.os.Build.VERSION.SDK_INT Build.VERSION_CODES.Q){return uriToFileApiQ(context,imageUri);}else if (content.equalsIgnoreCase(imageUri.getScheme())) {// Return the remote addressif (isGooglePhotosUri(imageUri)) {return imageUri.getLastPathSegment();}return getDataColumn(context, imageUri, null, null);}// Fileelse if (file.equalsIgnoreCase(imageUri.getScheme())) {return imageUri.getPath();}return null;}//此方法 只能用于4.4以下的版本private static String getRealFilePath(final Context context, final Uri uri) {if (null uri) {return null;}final String scheme uri.getScheme();String data null;if (scheme null) {data uri.getPath();} else if (ContentResolver.SCHEME_FILE.equals(scheme)) {data uri.getPath();} else if (ContentResolver.SCHEME_CONTENT.equals(scheme)) {String[] projection {MediaStore.Images.ImageColumns.DATA};Cursor cursor context.getContentResolver().query(uri, projection, null, null, null);// Cursor cursor context.getContentResolver().query(uri, new String[]{MediaStore.Images.ImageColumns.DATA}, null, null, null);if (null ! cursor) {if (cursor.moveToFirst()) {int index cursor.getColumnIndex(MediaStore.Images.ImageColumns.DATA);if (index -1) {data cursor.getString(index);}}cursor.close();}}return data;}/*** param uri The Uri to check.* return Whether the Uri authority is ExternalStorageProvider.*/private static boolean isExternalStorageDocument(Uri uri) {return com.android.externalstorage.documents.equals(uri.getAuthority());}/*** param uri The Uri to check.* return Whether the Uri authority is DownloadsProvider.*/private static boolean isDownloadsDocument(Uri uri) {return com.android.providers.downloads.documents.equals(uri.getAuthority());}private static String getDataColumn(Context context, Uri uri, String selection, String[] selectionArgs) {Cursor cursor null;String column MediaStore.Images.Media.DATA;String[] projection {column};try {cursor context.getContentResolver().query(uri, projection, selection, selectionArgs, null);if (cursor ! null cursor.moveToFirst()) {int index cursor.getColumnIndexOrThrow(column);return cursor.getString(index);}} finally {if (cursor ! null) {cursor.close();}}return null;}/*** param uri The Uri to check.* return Whether the Uri authority is MediaProvider.*/private static boolean isMediaDocument(Uri uri) {return com.android.providers.media.documents.equals(uri.getAuthority());}/*** param uri The Uri to check.* return Whether the Uri authority is Google Photos.*/private static boolean isGooglePhotosUri(Uri uri) {return com.google.android.apps.photos.content.equals(uri.getAuthority());}/*** Android 10 以上适配 另一种写法* param context* param uri* return*/public static String getFileFromContentUri(Context context, Uri uri) {if (uri null) {return null;}String filePath;String[] filePathColumn {MediaStore.MediaColumns.DATA, MediaStore.MediaColumns.DISPLAY_NAME};ContentResolver contentResolver context.getContentResolver();Cursor cursor contentResolver.query(uri, filePathColumn, null,null, null);if (cursor ! null) {cursor.moveToFirst();try {filePath cursor.getString(cursor.getColumnIndex(filePathColumn[0]));return filePath;} catch (Exception e) {} finally {cursor.close();}}return ;}/*** Android 10 以上适配* param context* param uri* return*/RequiresApi(api Build.VERSION_CODES.Q)private static String uriToFileApiQ(Context context, Uri uri) {File file null;//android10以上转换if (uri.getScheme().equals(ContentResolver.SCHEME_FILE)) {file new File(uri.getPath());} else if (uri.getScheme().equals(ContentResolver.SCHEME_CONTENT)) {//把文件复制到沙盒目录ContentResolver contentResolver context.getContentResolver();Cursor cursor contentResolver.query(uri, null, null, null, null);if (cursor.moveToFirst()) {String displayName cursor.getString(cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME));try {InputStream is contentResolver.openInputStream(uri);File cache new File(context.getExternalCacheDir().getAbsolutePath(), Math.round((Math.random() 1) * 1000) displayName);FileOutputStream fos new FileOutputStream(cache);FileUtils.copy(is, fos);file cache;fos.close();is.close();} catch (IOException e) {e.printStackTrace();}}}return file.getAbsolutePath();} }
http://www.pierceye.com/news/79341/

相关文章:

  • 网站设计公司网站设计网站制作公司怎么赚钱
  • 做网站怎么申请百度推广wordpress多重查询
  • 精品课程网站建设方案电脑上如何做课程视频网站
  • 动漫公司网站建设设计师网站有哪些
  • 网站建设中所涉及的所有链接建设seo网站优化培
  • 有没有让人做问卷的网站网络运营公司排名
  • 做网站很赚钱网站 建立目录出错
  • 商场设计网站百度推广年费多少钱
  • 竭诚网络网站建设开发淮南专业网站建设
  • 网站建设公司专业公司哪家好wordpress怎么装
  • 推广网络婚纱网站目录优化
  • 北京 工业网站建设公司价格网站搭建报价表
  • 网站建设找推推蛙株洲手机网站建设
  • 我国企业网站的建设情况系统管理员已阻止这个应用
  • 网站未备案可以上线吗成都教育行业网站建设
  • 免费建造网站一个完整的产品运营方案
  • 网站建设负责人证明网页设计基础代码
  • 自建网站和租用空间网站软件开发模型的理解
  • 眉县做网站小程序网站开发怎么样
  • 山西利用模板建站如何查看网站根目录
  • 600元做网站自己写的网页怎么发布到网上
  • 手机端网站思路网页后台设计师工资一般多少
  • 上海网站建设空间买网站做设计参考属于什么费用
  • 电子商务网站设计小结手机网址在哪
  • 杭州网站开发建设html5 网站模版
  • 英文网站设计多少钱皮肤病在线咨询医生免费咨询
  • 个人网站设计成品下载wordpress 插件
  • 有什么网站可以做3d中世纪变装小说wordpress
  • 网站制作课程介绍网站最新域名ip查询接口
  • 网站建设方案书封面php网站开发手机绑定