赞
踩
Android面试题总结:
Android所有面试题总结
https://blog.csdn.net/gongjdde/category_11520676.html
Framework相关内容总结:
https://blog.csdn.net/gongjdde/category_10613658.html
Kotlin相关内容总结:
https://blog.csdn.net/gongjdde/category_10998720.html
分享功能原理是通过Intent将文件传给其他应用,代码如下:
- public static void shareFile(Context context, String fileName) {
- File file = new File(fileName);
- if (null != file && file.exists()) {
- Intent share = new Intent(Intent.ACTION_SEND);
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
- Uri contentUri = FileProvider.getUriForFile(context, BuildConfig.APPLICATION_ID + ".fileprovider",file);
- share.putExtra(Intent.EXTRA_STREAM, contentUri);
- share.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
- } else {
- share.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file));
- }
- share.setType("application/vnd.ms-excel");//此处可发送多种文件
- share.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- share.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
- context.startActivity(Intent.createChooser(share, "分享文件"));
- } else {
- Toast.makeText(context, "分享文件不存在", Toast.LENGTH_SHORT).show();
- }
- }
如上所示是分享excel表格的代码,其中7.0以上做特殊处理,需要包裹uri,并且需要添加xml文件,如下所示:
- <?xml version="1.0" encoding="utf-8"?>
- <paths xmlns:android="http://schemas.android.com/apk/res/android">
- <!-- apk存放路径:getExternalCacheDir()/apk/xiaomaigui.apk -->
- <root-path name="root" path="system"/>
- <!--
- 如下路径是在:SDCard/Record/下面的文件
- -->
- <external-path
- name="Record"
- path="Record"/>
- </paths>
在AndroidManifest中的Application添加xml文件:
- <provider
- android:name="androidx.core.content.FileProvider"
- android:authorities="com.example.handscanner.fileprovider"
- android:exported="false"
- android:grantUriPermissions="true">
- <meta-data
- android:name="android.support.FILE_PROVIDER_PATHS"
- android:resource="@xml/file_paths" />
- </provider>
以上,即可完成分享excel表格的功能,如需分享其他文件,需要找到对应文件类型,如下是所有文件的类型:
- {".3gp", "video/3gpp"},
- {".apk", "application/vnd.android.package-archive"},
- {".asf", "video/x-ms-asf"},
- {".avi", "video/x-msvideo"},
- {".bin", "application/octet-stream"},
- {".bmp", "image/bmp"},
- {".c", "text/plain"},
- {".class", "application/octet-stream"},
- {".conf", "text/plain"},
- {".cpp", "text/plain"},
- {".doc", "application/msword"},
- {".docx", "application/vnd.openxmlformats-officedocument.wordprocessingml.document"},
- {".xls", "application/vnd.ms-excel"},
- {".xlsx", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"},
- {".exe", "application/octet-stream"},
- {".gif", "image/gif"},
- {".gtar", "application/x-gtar"},
- {".gz", "application/x-gzip"},
- {".h", "text/plain"},
- {".htm", "text/html"},
- {".html", "text/html"},
- {".jar", "application/java-archive"},
- {".java", "text/plain"},
- {".jpeg", "image/jpeg"},
- {".jpg", "image/jpeg"},
- {".js", "application/x-javascript"},
- {".log", "text/plain"},
- {".m3u", "audio/x-mpegurl"},
- {".m4a", "audio/mp4a-latm"},
- {".m4b", "audio/mp4a-latm"},
- {".m4p", "audio/mp4a-latm"},
- {".m4u", "video/vnd.mpegurl"},
- {".m4v", "video/x-m4v"},
- {".mov", "video/quicktime"},
- {".mp2", "audio/x-mpeg"},
- {".mp3", "audio/x-mpeg"},
- {".mp4", "video/mp4"},
- {".mpc", "application/vnd.mpohun.certificate"},
- {".mpe", "video/mpeg"},
- {".mpeg", "video/mpeg"},
- {".mpg", "video/mpeg"},
- {".mpg4", "video/mp4"},
- {".mpga", "audio/mpeg"},
- {".msg", "application/vnd.ms-outlook"},
- {".ogg", "audio/ogg"},
- {".pdf", "application/pdf"},
- {".png", "image/png"},
- {".pps", "application/vnd.ms-powerpoint"},
- {".ppt", "application/vnd.ms-powerpoint"},
- {".pptx", "application/vnd.openxmlformats-officedocument.presentationml.presentation"},
- {".prop", "text/plain"},
- {".rc", "text/plain"},
- {".rmvb", "audio/x-pn-realaudio"},
- {".rtf", "application/rtf"},
- {".sh", "text/plain"},
- {".tar", "application/x-tar"},
- {".tgz", "application/x-compressed"},
- {".txt", "text/plain"},
- {".wav", "audio/x-wav"},
- {".wma", "audio/x-ms-wma"},
- {".wmv", "audio/x-ms-wmv"},
- {".wps", "application/vnd.ms-works"},
- {".xml", "text/plain"},
- {".z", "application/x-compress"},
- {".zip", "application/x-zip-compressed"},
- {"", "*/*"}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。