`

Android文件关联

 
阅读更多
Android 文件关联详解2010-09-10 09:42这是网上被转载比较多的关于的描述:

首先说一下,AndroidManifest.xml文件:4 t% |. w" }, l1 p- m: V+ u0 B& H  D
<?xml version="1.0" encoding="UTF-8"?>
<manifest android:versionCode="1" android:versionName="1.0"
    package="com.openfiledialog" xmlns:android="http://schemas.android.com/apk/res/android">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:label="@string/app_name" android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
                        </intent-filter>
                       
                <intent-filter>
                    <action android:name="android.intent.action.VIEW"></action>
                <category android:name="android.intent.category.DEFAULT"></category>
                <data android:mimeType="*/*"></data>
            </intent-filter>
        </activity>
        <activity android:name=".FileList"/>
   
</application>
    <uses-sdk android:minSdkVersion="7"/>
</manifest>
& o# Y- i, O+ j( l# }+ d
注意,这里面有两组“intent-filter”。这里,实现文件关联主要是第二组在起作用。
  k! Y2 U/ Z4 X) v( q“android:mimeType="*/*"”表示所有文件类型都和这个apk连接起来。只要在资源管理器中点击任何文件,都会弹出窗口问你用哪个软件打开,而其中必有本apk。
# a8 L+ K! r% E! I. W" `- P9 h如果写成“android:mimeType="image/jpg"”,则只关联jpg文件。

public class MainActivity extends Activity {
       
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.main);

                Intent intent = getIntent();
                String action = intent.getAction();
                if(intent.ACTION_VIEW.equals(action)){
                             TextView tv = (TextView)findViewById(R.id.tvText);
                            tv.setText(intent.getDataString());
                }
    }
}
注意其中的“       if(intent.ACTION_VIEW.equals(action))”,这里的ACTION_VIEW和前面的“android.intent.action.VIEW”是对应的。" i; t* e6 D8 J3 U- a% V" N: L
这里可选项很多,我就不一一介绍了,有兴趣的读者请自行察看相关文档——不是我不想介绍,而是因为我也不懂……' l2 e4 m, R% {2 l7 n3 x3 }
  [4 U3 A  ]6 i  x: T
然后,通过“intent.getDataString()”就可以获取传进来的参数,也就是点击的文件名(包含路径,而且以file://开头)。

问题是我不明白我看完之后还是不明白怎么关联一般的文件,因为不明白什么是MIME类型。在强大的搜索帮助下终于找到关于MIME类型的详细解释:http://en.wikipedia.org/wiki/MIME_type#List_of_common_media_types这是WIKI上关于MIME类型的说明很详细。
举个例子如果我们想关联pdf文档直接将上面代码中<data android:mimeType="*/*"></data>中的"*/*"替换成"application/pdf"j即可。

另外,WIKI上还有一篇文章值得一读:http://en.wikipedia.org/wiki/URI_scheme。

分享到:
评论

相关推荐

    文件管理中打开文件,关联并自己的APP启动

    这种功能通常涉及到操作系统中的文件关联机制,以及应用程序的编程接口(API)。 首先,我们需要了解文件关联的概念。在大多数现代操作系统(如Windows、macOS或Android)中,每种类型的文件都有一个默认的“关联”...

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

    Android开发实现文件关联方法,做一个项目的时候,需要点击文件打开我们自己的app。首先讲一下点击普通文件打开app的方法,只需要三行代码,在app启动活动里加一个过滤器。 &lt;category android:name=android....

    android 2.2 文件关联的 source android-8

    android-2.2 source文件 eclipse中绑定android源码的方法 1.下载android-2.2 source 2.解压放在android.jar所在目录的sources里即可 比如我android.jar所在目录为 D:\android-sdk-windows\platforms\android-8...

    android 文件管理器

    5)文件关联打开,列举文件所支持的打开方式给用户选择; 6)内嵌文件编辑器,更方便地打开文件,并可编辑保存为新文本; 7)设置主目录,更方便用户进入特定目录; 8)更快速地搜索文件:根据关键字或其它条件搜索目标...

    无人机Android-UI布局文件与java文件关联.doc

    实验报告——无人机Android-UI布局文件与Java文件关联 在移动应用开发中,尤其是在Android平台上,用户界面(UI)的设计和交互是至关重要的。本实验旨在帮助学生掌握Android UI布局文件与Java代码之间的关联,以及...

    android apk 反编译java文件对应的资源批量修改(更改为R.java文件中的R.string.name格式)

    Android的apk文件反编译后,甚多的资源和java文件无法对应,java文件中引用的资源id变成十进制数字。本文将反编译apk的java文件和资源文件重新关联引用对应,使得java文件能准确无误地重新引用资源文件。 (1)将反...

    安卓Android源码——小米系列之小米文件管理器.zip

    【标题】"安卓Android源码——小米系列之小米文件管理器.zip" 提供的是关于小米公司MIUI系统中内置文件管理器的源代码分析。这个压缩包可能包含了用于理解和研究小米文件管理器运行机制的各个组件和功能的源代码。在...

    在Eclipse里关联android源代码的三种方式

    在Eclipse中关联Android源代码是为了更深入地理解Android系统的运行机制,以及便于进行调试和学习。以下是三种关联Android源代码的方法: ### 第一种方式:Source Attach 这种方法适用于已有的Android项目,通过...

    android 文件浏览器

    通过阅读源代码,初学者可以学习到如何将文件数据与UI元素关联、如何处理用户交互以及如何执行文件操作等Android开发基本技巧。 五、注意事项 1. 权限申请:访问外部存储需要在AndroidManifest.xml中添加`READ_...

    android 制作有图标的文件资源管理器 自定义Adapter

    在Android开发中,创建一个带有图标的文件资源管理器通常涉及到自定义Adapter的实现。Adapter是连接数据源和UI视图的关键组件,它允许我们把数据转化为可显示的视图元素。下面将详细介绍如何在Android中制作这样一个...

    android ormlite多表关联实例

    本实例将深入探讨如何在Android项目中使用ORMLite实现多表关联操作。 首先,我们需要理解ORMLite的基础概念。ORMLite允许我们将Java对象映射到数据库表,通过注解或配置文件定义类与表的关系。当我们创建一个实体类...

    Android文件浏览器实现

    在Android平台上,开发一个文件浏览器是一项常见的任务,它允许用户浏览和操作设备上的文件系统。本文将深入探讨如何实现一个基于ListView的Android文件浏览器。首先,我们从标题和描述出发,理解我们的目标是创建一...

    APK文件关联器,支持Ophone

    标题中的“APK文件关联器,支持Ophone”指的是一个工具,主要功能是帮助用户在非Android系统(比如Ophone,这是中国移动推出的一个基于Linux的智能手机操作系统)上安装和管理APK格式的应用程序。APK是Android应用的...

    android查看数据库文件,导出数据库方便查看

    通过SQLiteSpy,你可以查看相关表,找出与多媒体信息关联的字段,比如文件路径、大小、创建日期等。 5. **安全与权限**: 在处理用户数据时,必须确保遵循隐私政策和权限管理。只有当应用拥有对数据库的读写权限时...

    Android简易文件选择器

    - 在布局文件中,需确保CheckBox与ListView项正确关联,并设置适当的触摸监听器。 **应用场景** 这个简易文件选择器适用于任何需要让用户选择文件的场景,比如: 1. 上传文件到服务器 2. 选择图片或视频进行编辑 3....

    Android Eclipse关联 android API doc文档

    本篇文章将详细介绍如何在Eclipse集成开发环境中关联Android API文档,以便于在编写代码时快速获取帮助信息。 首先,确保你已经安装了Eclipse IDE以及Android Developer Tools (ADT) 插件。ADT插件使得Eclipse具备...

    安卓Android源码——双列关联listview.rar

    本资源“安卓Android源码——双列关联listview.rar”提供了一个具体的实现案例,帮助开发者理解如何在Android应用中创建这种复杂布局。 首先,我们要明白ListView的工作原理。ListView通过Adapter将数据集与视图...

    android4.0.3关联源码

    8. **资源管理**:Android的资源管理系统处理XML资源文件,如字符串、颜色、尺寸和布局。源码展示了如何访问和解析这些资源。 9. **编译和构建系统**:Android使用Build System,如Makefile和AOSP(Android Open ...

    android sdk 关联源码Android-17

    《Android SDK关联源码解析——聚焦Android-17》 Android SDK是开发Android应用程序的基础工具集,其中包含了构建、测试和调试应用所需的各种组件。在Android-17版本中,我们能够深入理解Android系统的内部工作机制...

Global site tag (gtag.js) - Google Analytics