如何在安卓中为一个活动(Activity)添加两个意图过滤器(Intent Filter)

32

我正在编写一个打开HTML文件的应用程序,因此我在活动的意图过滤器中提到:

我正在编写一個應用程式以打開 HTML 文件,所以我在活動的意圖過濾器中提到:

        <intent-filter>
            <action android:name="android.intent.action.VIEW" />

            <category android:name="android.intent.category.DEFAULT" />

            <data android:mimeType="text/html" />
        </intent-filter>

对于这个应用程序,没有启动器图标。但是我希望我的应用程序能作为启动器应用程序,并且当我打开应用程序时,我想显示一些关于应用程序的信息,然后通过HTML文件打开应用程序,然后我想执行不同的功能(解析HTML)。有什么想法吗?

1个回答

75

您可以在<activity>标签之间指定多个<intent-filter>

<activity android:name=".MyActivity">
  <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="text/html" />
  </intent-filter>
</activity>

在Activity中,我们可以使用以下代码获取操作并决定它应该去哪里的流程。 Intent i = getIntent(); String action = i.getAction(); if (action.equalsIgnoreCase("android.intent.action.MAIN")) { //一个逻辑 } else{ //另一个逻辑 } - ashok reddy
1
这个完美地运作。我在 Android 文档中找不到它,但它似乎是一个常见的用例。 - ajselvig

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接