Android开发实现文件关联方法介绍
Android开发实现文件关联方法,做一个项目的时候,需要点击文件打开我们自己的app。首先讲一下点击普通文件打开app的方法,只需要三行代码,在app启动活动里加一个过滤器。
<intent-filter
<category android:name="android.intent.category.LAUNCHER"
</category </action </intent-filter
<intent-filter
<category android:name="android.intent.category.DEFAULT"
<data android:mimetype="*/*"
</data </category </action </intent-filter
</activity
*/*即所有文件的意思,但是很多时候我们并不是需要所有的文件,这个时候就要学习一样mineType了。
一、mineType
mineType媒体类型,一般是[type]/[subtype]格式。
1.type
Text:用于标准化地表示的文本信息,文本消息可以是多种字符集和或者多种格式的; Multipart:用于连接消息体的多个部分构成一个消息,这些部分可以是不同类型的数据; Application:用于传输应用程序数据或者二进制数据; Message:用于包装一个E-mail消息; Image:用于传输静态图片数据; Audio:用于传输音频或者音声数据; Video:用于传输动态影像数据,可以是与音频编辑在一起的视频数据格式。
2.subtype主要用法
text/plain(纯文本) text/html(HTML文档) application/xhtml+xml(XHTML文档) image/gif(GIF图像) image/jpeg(JPEG图像) image/png(PNG图像) video/mpeg(MPEG动画) application/octet-stream(任意的二进制数据) application/pdf(PDF文档) application/msword(Microsoft Word文件) multipart/alternative(HTML邮件的HTML形式和纯文本形式,相同内容使用不同形式表示) application/x-www-form-urlencoded(使用HTTP的POST方法提交的表单) multipart/form-data(同上,但主要用于表单提交时伴随文件上传的场合)
3.例子
text/xml
4.笔记
一些基本的文件已经能够关联,但是有一些自定义的文件无法关联,如.pac文件。这个时候需要学习一下第二部分自定义文件关联。
二、data标签
<data android:host="string" android:mimetype="string" android:path="string" android:pathpattern="string" android:pathprefix="string" android:port="string" android:scheme="string" </data
1.scheme
这个属性用于设定URI的scheme部分。它是给指定URI设置的最基本的属性,至少要给过滤器设置一个scheme属性,否则,其他的URI属性就没有意义了。scheme属性值没有”:”符号结尾(如,file,而不是file: )
2.host
URI授权的主机部分。
3.port
定义URI授权的端口部分。
host和port的使用都依赖于scheme。
4.mintype
前面已讲过。
5.path
path指定一个完整的路径。
6.PathPrefix
PathPrefix属性只指定了部分路径,它会跟Intent对象中的路径初始部分匹配。
7.pathPattern
重点来了,pathPattern属性指定一个要跟Intent对象中的路径进行匹配的完整路径,但是这个路径中可以包含下列通配符:
7.1. 星号(*)通配符,路径中的*星号代表任意多个星号之前的那个字符,如a*,可跟a、aa、aaa、aaaa、…字符串匹配。
7.2. 点跟星号的组合(.*)通配符,它可以跟任意字符串进行匹配,如.*pac,可以跟abpac、cpac、pac、dssf.pac、…等字符串匹配。
三、例子
本人需要点击的文件是一个这样的文件:
1.文件路径:/storage/emulated/0/Android/data/包名/files/files/Omega4040_00.00.4002_Nor.pac 2.文件名:Omega4040_00.00.4002_Nor.pac 3.代码:
<intent-filter
<category android:name="android.intent.category.LAUNCHER"
</category </action </intent-filter
<intent-filter
<category android:name="android.intent.category.DEFAULT"
<category android:name="android.intent.category.BROWSABLE"
<data android:scheme="file"
<data android:mimetype="*/*"
<data android:host="*"
<data android:pathpattern=".*pac"
</data </data </data </data </category </category </action </intent-filter
</activity
总结
以上就是本文关于Android开发实现文件关联方法介绍的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:Android分包MultiDex策略详解等,有什么问题可以随时留言,小编会及时回复大家的。
- django之urls系统
- 最长公共子序列(稀疏序列)nlogn解法
- P1776 宝物筛选_NOI导刊2010提高(02)(背包的二进制优化)
- PYTHON黑帽编程 4.1 SNIFFER(嗅探器)之数据捕获(下)
- 3002 石子归并 3
- day2 oracle相关
- P2946 [USACO09MAR]牛飞盘队Cow Frisbee Team
- Django 中间件
- jupyter notebook下mongodb的使用
- P2915 [USACO08NOV]奶牛混合起来Mixed Up Cows
- Common Subsequence
- T7315 yyy矩阵折叠(长)
- T7314 yyy的巧克力(钟)
- T7316 yyy的最大公约数(者)
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- R中的stack和unstack函数
- 第33期:上海自来水来自海上,回文字符串验证!
- nginx location配置
- 快速学习-RocketMQ Dledger快速搭建
- 原创 | 非典型算法题,用程序和电脑玩一个游戏
- 快速学习-RocketMQ Dledger集群搭建
- 原创 | 你能想出解法,让你的基友少氪金吗?
- 快速学习-ElasticJob运维平台
- 第34期:最后一个单词的长度(高频)
- 原创 | 学会这三个命令,你就不再是git只会用三板斧的菜鸟了
- 构建Flink第一个应用程序
- 第35期:从 DFS 学习二叉树!(适合小白)
- ROS自平衡车案例学习(机器人操作系统+现代控制理论融合)
- Git 不能提交空目录?我也是醉了!
- 相关矩阵、特征、预测、股市!(附代码)