5

我有一个通过intent-filter操作启动的应用程序。问题是每次事件/动作发生时,Android 都会显示一个对话框,要求启动应用程序,即使它已经启动。

我希望行为如下:

  • 如果应用程序未打开,用户要求启动应用程序。
  • 如果应用程序在前台运行,则不会显示对话框。

有没有办法实现这两个目标?我的目标是 Android 4.0。

编辑

这是我的意图过滤器:

        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
        </intent-filter>

       <intent-filter>
            <action android:name="android.hardware.usb.action.USB_DEVICE_DETACHED" />
        </intent-filter>

       <meta-data
            android:name="android.hardware.usb.action.USB_DEVICE_DETACHED"
            android:resource="@xml/device_filter" />
4

2 回答 2

9

您需要将Activity's设置launchModesingleTask. 您可以通过在 Android 清单中添加活动属性来做到这一点:

android:launchMode="singleTask"

有关更多详细信息,请参阅文档

于 2013-03-04T16:43:40.100 回答
0

在要求用户启动应用程序时使用标志。首次启用时设置标志,并且每次检查是否勾选了此标志。例如if (flag == 1) askusertostart() else continue;,如果这对您来说很清楚?

于 2013-03-04T16:22:22.520 回答