我正在开发一款Android应用。
我已经在Manifest.xml中添加了一些设置,如下所示。
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="application/pdf" />
<data android:mimeType="text/html" />
<data android:mimeType="text/htm" />
</intent-filter>
然后,用户可以选择我的应用程序来打开附件。
问题是在那之后我该怎么办? 我该如何访问该文件?
答案 0 :(得分:2)
您将在宣布此过滤器的活动中收到意图。然后,获取您正在打开的文件的URI:
Intent intent = getIntent();
Uri uri = intent.getData();
此URI可能指向PDF文件。您可以这样阅读此文件:
ContentResolver cr = getContentResolver();
InputStream is = cr.openInputStream(uri);
如果你有兴趣直接访问该文件,我建议你从输入流编写自己的文件,因为这个uri可能不一定解析为真实文件,如果是,你可能没有阅读权限它。以下是关于此案例的问题,提供了进一步的解释: