Я реализовал приложение, которое считывает QR-код и отображает результат в модальном режиме (затем перенаправляет на WebView, если результат является URL). Это работает хорошо. Но теперь я хотел бы сделать следующее: когда QR-код сканируется камерой моего устройства (не моего приложения), он запускает мое приложение и отображает результат в моем модальном режиме.
Я использовал intent-filter для этого ... И он тоже работает хорошо! Но проблема в том, что он запускает мое приложение не только после сканирования QR-кода. Он запускает мое приложение, например, когда я нажимаю на URL на моем телефоне. И это не то поведение, которое я хочу. Мне бы хотелось, чтобы мое приложение запускалось только тогда, когда в QR-коде был обнаружен URL. Возможно ли это?
Вот мой манифест
<activity
android:launchMode="singleTask"
android:name=".MainActivity"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="http" />
<data android:scheme="https" />
</intent-filter>
<intent-filter>
<action android:name="android.nfc.action.TECH_DISCOVERED" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="http" android:host="*"/>
<data android:scheme="https" android:host="*"/>
</intent-filter>
<meta-data
android:name="android.nfc.action.TECH_DISCOVERED"
android:resource="@xml/nfc_tech_filter" />
</activity>