欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android开发实现文件关联方法介绍

程序员文章站 2023-11-20 16:25:10
android开发实现文件关联方法,做一个项目的时候,需要点击文件打开我们自己的app。首先讲一下点击普通文件打开app的方法,只需要三行代码,在app启动活动里加一个过滤...

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策略详解等,有什么问题可以随时留言,小编会及时回复大家的。