单击任何第三方资源管理器(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);
}
}
});
但是现在我想在那个popupmenu中再添一个选项(比如我的探险家)。怎么做?
提前致谢
答案 0 :(得分: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>