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