Блокировать диалог выбора активности, когда приложение находится на переднем плане

Мое приложение должно обнаружить NFC card . При обнаружении карты отображается диалоговое окно выбора активности, а затем при нажатии на приложение из диалогового окна открывается соответствующее приложение. Но мне нужно заблокировать отображение диалога выбора активности, когда app is in foreground поэтому я использую это:

pendingIntent = PendingIntent.getActivity(this, 0, new Intent(this, getClass()).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP), 0);

Вот код из AndroidManifest.xml:

<activity
        android:name=".ui.base.DeepLinkActivity"
        android:theme="@style/Theme.Transparent">
        <intent-filter>
            <action android:name="android.nfc.action.NDEF_DISCOVERED" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:mimeType="text/plain" />
        </intent-filter>

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

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

        <meta-data
            android:name="android.nfc.action.TECH_DISCOVERED"
            android:resource="@xml/nfc_tech_filter" />
    </activity>

Если есть только одно действие, то с помощью ForegroundDispatch я могу заблокировать диалог выбора действий. Но теперь проблема в том, что в моем приложении есть несколько действий, и мне нужно блокировать диалог выбора действий, когда приложение находится на переднем плане, независимо от того, какие действия отображаются на экране.

Всего 1 ответ


Вам необходимо реализовать диспетчеризацию переднего плана во всех действиях в вашем приложении, если вы не хотите ничего делать, кроме как заблокировать карту, то ваш onNewIntent должен быть и пустая заглушка


Есть идеи?

10000