アクションを介して起動されるアプリケーションがあります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" />