本帖最后由 wgf42421 于 2011-03-16 13:48:45 编辑

解决方案 »

  1.   

    在manifest中的主Activity加上
    <intent-filter>
                    <action android:name="android.intent.action.VIEW"/>
                    <category android:name="android.intent.category.DEFAULT"/>
                    <category android:name="android.intent.category.BROWSABLE"/>
                    <data android:mimeType="application/txt"/>
             </intent-filter>
      

  2.   

     <data android:mimeType= 指定打开类型的
      

  3.   

    我的意思是我点一个按钮怎样弹出所有相关的扩展程序列表
    比如ES文件浏览器,点击一个TXT后,后弹出:使用以下方式发送:
    ES文本浏览器
    HTMLViewer
    SimpleNote这三个程序是怎样获取的。。(楼上你说的那个是注册关联。我说的是文件打开时如何获取关联)就像Windows的打开方式会弹出一堆列表,我问的是怎样得到列表,不是问怎样写入注册表关联扩展名
      

  4.   

    恩。。我的想法是。。好像只要注册了,你点击一个TXT后会自动弹出注册的那几个程序。。不需要你获取的。。应该是这样吧。。
      

  5.   

    你试过了么,可能回弹出呢。。只是可能哈。。也可能是代码写了,我手机安装的程序我每次调用短信功能就直接弹出选择是飞信还是手机自带的。恩。不行的话你Google看看。
      

  6.   

    ntent intent = new Intent();       intent.setAction(“android.intent.action.VIEW”);       intent.setDataAndType(uri, image.getMimeType());  //设置上你的资源的类型和uri就可以了       activity.startActivity(intent); 
      

  7.   


    试了下,不行啊
    错误如下:No Activity found to handle Intent { act=android.intent.action.VIEW dat=file:///sdcard/test.txt typ=text flg=0x10000000 }//uri是file:///sdcard/test.txt
    intent.setDataAndType(uri, "text");
    startActivity(intent); //直接出错停止了啥也没弹。
      

  8.   

    试试这个吧:
    /**
     * 打开文件
     * 
     * @param f
     */
    private void openFile(File f) {
    Intent intent = new Intent();
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    intent.setAction(android.content.Intent.ACTION_VIEW);
    // 设置intent的file与MimeType
    intent.setDataAndType(Uri.fromFile(f), "text/plain");
    startActivity(intent); }