编程语言
首页 > 编程语言> > Android:适当的Intent过滤器来指示我的应用程序可以打开文件类型?

Android:适当的Intent过滤器来指示我的应用程序可以打开文件类型?

作者:互联网

我正在尝试配置清单文件以指示我的应用程序可以打开PDF文件.下面的配置可以使用,但是它在模拟器中提供了一些有趣的行为:

>当出现“查看”操作时,我的应用程序未在安装时启动(当我从Eclipse运行时,该应用程序已安装在模拟器上,但不会自动启动).
>当存在application / pdf时,从eclipse运行后,该应用程序不会显示在我的模拟器的应用程序菜单中.

(如果我的唯一意图是“主要”和“发起人”,则我看不到这些问题中的任何一个)

 <intent-filter>
     <action android:name="android.intent.action.MAIN" />
     <category android:name="android.intent.category.LAUNCHER" />
     <action android:name="android.intent.action.VIEW" />
     <category android:name="android.intent.category.DEFAULT" />
     <data android:mimeType="application/pdf" /> 
 </intent-filter>

编辑:好的,我对意图有些困惑.解决上述问题的方法是拥有两个不同的Intent过滤器,如下所示.

但是,我还有第二个问题. Android成功启动了我的PDF文件应用程序,但启动时会调用onCreate(bundle)而不是startActivity(Intent).我应该如何获得意图数据?

<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" />
    <category android:name="android.intent.category.DEFAULT" />
    <data android:mimeType="application/pdf" /> 
</intent-filter>

解决方法:

在您的活动中,可以使用getIntent()获取用于启动它的意图.

标签:android-intent,android-manifest,android
来源: https://codeday.me/bug/20191208/2093498.html