Как открыть ссылку из тега NFC? - PullRequest
1 голос
/ 14 мая 2019

Я хочу написать тег NFC, который при прикосновении открывает конкретную заметку в Google Keep.

У меня есть URL-адрес в виде https://keep.google.com/u/0/#LIST/<id>, который выполняет желаемое действие по открытию заметки в установленном приложении Google Keep на моем телефоне, когда я читаю ее с помощью QR-ридера или нажимаю на нее в качестве ссылки.

Когда я записываю этот URL-адрес в тег, прикосновение к тегу впоследствии открывается в браузере. Обработчик NFC пропускает другие приложения и открывает его прямо в браузере? Когда я сбрасываю настройки приложения по умолчанию для браузера, после нажатия на тег отображается меню выбора для установленных браузеров. У кого-нибудь есть идеи, что я делаю не так?

Ответы [ 2 ]

0 голосов
/ 16 мая 2019

Ссылки на теги NFC не запускаются как намерения с типичным действием VIEW.Следовательно, другие приложения могут не правильно подобрать эти ссылки, и вместо этого вы откроете веб-браузер.Только приложения, которые специально зарегистрировались для действия намерения NDEF_DISCOVERED, смогут получать ссылки от тегов NFC.Похоже, что в настоящее время Google Keep этого не делает, поэтому вы мало что можете сделать без создания собственного приложения-оболочки, которое обрабатывает эти URL-адреса и передает их в Google Keep.

0 голосов
/ 14 мая 2019

Вы должны включить глубокие ссылки в вашей деятельности.Также вы должны указать свою активность NFC-тег для обнаружения следующим образом.Вы можете узнать что-нибудь о глубоких ссылках по этой ссылке

<activity
        android:name="ExampleActivity"
        android:label="Example">
        <intent-filter android:autoVerify="true">
            <action android:name="android.intent.action.VIEW" />

            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />

            <data
                android:host="example.com"
                android:scheme="http" />
            <data android:scheme="https" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.nfc.action.NDEF_DISCOVERED" />

            <category android:name="android.intent.category.DEFAULT" />

            <data android:mimeType="text/plain" />
        </intent-filter>
    </activity>
...