Как запустить собственное Android-приложение с определенным протоколом / намерением и передать параметр? - PullRequest
1 голос
/ 18 сентября 2011

Я пытаюсь найти способ построения этого поведения.

Например, вы вызываете foo: // bar Независимо от того, где, если браузер или тег NFC.

Соответственно, ваше приложение должноначать с пропущенного параметра param.

Мой подход - phonegap, где я хотел зарегистрировать намерение в файле manifest.xml.

Каковы следующие шаги?Как мне зарегистрировать намерение?Где и когда мне создать намерение и поймать свою ценность?

Мне не лень искать и учиться, но мне нужна ваша поддержка, чтобы участвовать в разработке Android.

1 Ответ

3 голосов
/ 18 сентября 2011

Например, вы называете foo: // bar

Не используйте foo://bar. Используйте http://foo/bar для некоторого домена foo, которым вы владеете. Таким образом, каждый может использовать ссылку, а для людей, у которых не установлено ваше приложение, вы можете отобразить веб-страницу, которая приводит их к соответствующему приложению.

Неважно, где, если браузер или тег NFC.

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

Для ссылки в браузере и, возможно, для таких вещей, как сканер штрих-кода для QR-кодов, вы должны добавить это <intent-filter> в манифест для <activity>:

  <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:host="foo" android:scheme="http" />
  </intent-filter>

Для тега NFC, записанного с использованием стандартного NDEF, вы должны добавить это <intent-filter> в манифест для вашего <activity>:

        <intent-filter android:label="@string/app_name">
          <action android:name="android.nfc.action.NDEF_DISCOVERED" />
          <data android:scheme="http" android:host="foo" />
          <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...