`

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。

分享到:
评论

相关推荐

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

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

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

    文件系统中打开某种类型文件时,在打开应用列表中添加自己的应用,并在应用中获取该文件的信息,做出对应的操作

    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文件关联.doc

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

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

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

    第一种方式:source attach 第二种方式:复制platform/frameworks/base/core/java到在AndroidSDK的安装目录下的platforms/android-12下新建sources目录 第三种方式:最全面但最复杂的一种,见文件里的方式

    android 5.L最新源码及关联方法

    2.配置了Android工程关联其API源码: 右击目标工程,Build Path -&gt; Configure Build Path -&gt; Library选项下 -&gt; Android 4.1 -&gt; android.jar -&gt; Source attachment --&gt; Edit --&gt; External Folder 选择这个文件目录C:...

    smaba在android上所需要的so文件

    树莓派+raspbian官方系统+添加了清华大学的源+samba4.6.7

    Android帮助文件,documentation for android sdk API19

    出现这个原因,一般是因为android.jar包的Javadoc文件的关联属性没有设置好。 可以进行如下操作: 1,右击项目,选择 properties –&gt; Java Build Path –&gt; Libraries,展开Android相关类库的具体属性,下面有一个...

    安卓网apk安装器3.0

    3)对于VISAT/WIN7的用户,运行之前先给APK安装助手执行文件(AndroidAgentApp.exe)管理员权限,否则会与APK文件关联失败。对于关联失败的用户仍然可以通过安装助手中的“打开APK”功能找到所需要安装的APK文件进行...

    安卓 RE 文件管理器 Root Explorer 4.8.1 中文多语免费版.zip

    RE 文件管理器 Root Explorer:这个软件要说有多强大,小编也就说不清了,如果准确点来说的话,这个应该是手机 ROOT 后必备的一个手机管理软件,可以很方便的实现...– 设置特定文件类型的打开方式(相当于文件关联)

    无法关联v4源码

    无法关联v4包的源码,把该文件放到和v4同目录下即可,里面内容根据自己情况修改

    安卓4.3 android4.3 源代码

    安卓4.3源代码 解压后 放在sdk-platforms-android-18文件夹下 通过eclipse和本jar文件关联,即可使用

    android触屏摇杆控制蓝牙车工程文件

    文件里是android触屏摇杆控制蓝牙车的工程文件,关联博客为http://blog.csdn.net/lynx2/article/details/7190982

    android source 4 0 android 14

    android-4.0 source文件 eclipse中绑定android源码的方法 1.下载android-4.0 source 2.解压放在android.jar所在目录的sources里即可(注意是sources而非source)。 比如我android.jar所在目录为 D:\android-sdk...

    Android APK+Dex文件反编译及回编译工具 v.1.7.2 正式版

    本工具执行安装后,直接在【鼠标右键】生成快捷键,自动关联APK、DEX、 Odex、Zip文件。只要在电脑任意非C盘根目录,【鼠标右键】点击相关文件,即 可编译操作。如,反编译APK及DEX文件,反编译后生成可编译的...

    如何在Android系统手机上安装软件的三种方法

    如何在Android系统手机上安装软件的三种方法 很多朋友初用安卓手机,可能都会比较陌生。...该程序会自动关联电脑中的apk程序,安装软件时只需双击apk安装文件即可。该程序会帮助你自动将软件安装到你的手机里。

    Android APK+Dex文件反编译及回编译工具(APKDB)v.1.9.2 正式版

    12、Win8用户 需要注意一下,如果安装了手机助手,需要,手动关联APK文件 apk文件鼠标右键,【打开方式】-【选择默认程序】-【APK安装器】 13、其他小白问题,上QQ群(8023666)提问,不要单独Q我,谢谢! _________...

Global site tag (gtag.js) - Google Analytics