我有一个通过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" />

最佳答案

您需要将ActivitylaunchMode设置为singleTask。可以通过在android清单中添加activity属性来执行此操作:

android:launchMode="singleTask"

有关详细信息,请参见documentation

08-05 21:31
查看更多