0

在任何第三方资源管理器(Es 文件资源管理器、Astro FM 等)中单击任何 txt 文件,它会显示一个弹出菜单,其中包含打开该文件的选项。我实现如下,

   gdview.setOnItemClickListener(new OnItemClickListener()
    {
        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int index, long arg3) 
        {
            final String options[] = {"Text", "Audio", "Video", "Image", "Other"};
            String selectedpath = filespath.get(index);
            File tmp = new File(selectedpath);
            if(tmp.isDirectory())
            {
                Intent intnt = new Intent(MainActivity.this, ChildAvtivity.class);
                intnt.putExtra(EXTRA_PATH, selectedpath);
                startActivity(intnt);
            }
            else
            {
                final Intent intent = new Intent();
                intent.setAction(android.content.Intent.ACTION_VIEW);
                final File file = new File(selectedpath);

                final MimeTypeMap mime = MimeTypeMap.getSingleton();
                final String ext=file.getName().substring(file.getName().indexOf(".")+1);
                final String type = mime.getMimeTypeFromExtension(ext);
                intent.setDataAndType(Uri.fromFile(file),type);
                 startActivity(intent); 
              }
        }
 });    

但现在我想在那个弹出菜单中再增加一个选项(比如我的资源管理器)。怎么做 ?

提前致谢

4

1 回答 1

0

您需要注册您的应用程序以在您的应用程序清单中使用ACTION_VIEW侦听 Intent 。您可以<data>使用<intent-filter>.

这在Allowing Other Apps to Start Your Activity中的开发者文档中有详细说明。

例如,您的清单可能如下所示:

<activity android:name="MyTextViewerActivity">
    <intent-filter>
        <action android:name="android.intent.action.VIEW"/>
        <category android:name="android.intent.category.DEFAULT"/>
        <data android:mimeType="text/plain"/>
    </intent-filter>
</activity>
于 2013-09-23T15:56:52.773 回答