Можно ли запустить приложение с помощью URL-адреса, запущенного из приложения обмена сообщениями Android (SMS или MMS)?
Запустить Android-приложение из SMS/MMS-сообщения?
Ответы (3)
Нет, распознаются только следующие URL:
- URL-адреса в Интернете.
- Адрес электронной почты.
- Телефонные номера.
- Адреса карты.
Из TextView android:autoLink XML-атрибут.
Предыдущий ответ был неверным.
Вы можете добавить фильтр намерений для действия, которое «зарегистрирует» ваше приложение для обработки гиперссылок в теле SMS.
Например, если вы добавите следующее намерение в ваш application.xml:
<intent-filter>
<action android:name="android.intent.action.VIEW"></action>
<category android:name="android.intent.category.DEFAULT"></category>
<category android:name="android.intent.category.BROWSABLE"></category>
<data
android:scheme="http"
android:host="test.com"
android:pathPrefix="/myapp">
</data>
</intent-filter>
И вы отправляете SMS-сообщение со следующим текстом в теле:
http://test.com/myapp/somedata
Ваше приложение запустится, и действие сможет получить доступ к URL-адресу как части данных намерения.
Кроме того, ответ, данный @Adam,
В случае приложения для Android возможно несколько фильтров намерений, мы должны использовать два. Один для запуска приложения и один для запуска приложения с использованием URL-адреса в смс
<activity android:name="com.SomeActivity" adroid:theme="@style/MyTheme"
android:label="@string/app_name">
<!-- For app launcher -->
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="com.YorAppPackage" />
</intent-filter>
<!-- To open app using link -->
<intent-filter>
<action android:name="android.intent.action.VIEW"></action>
<category android:name="android.intent.category.DEFAULT"></category>
<category android:name="android.intent.category.BROWSABLE"></category>
<data android:scheme="http"
android:host="yourdomain.com"
android:pathPrefix="/someurlparam">
</data>
</intent-filter>
</activity>
Теперь добавьте URL-адрес в смс что-то вроде
http://yourdomain.com/someurlparam
Это должно запустить приложение по щелчку URL-адреса, а также добавит значок приложения в Android.
<data android:scheme="myappname" />
в блок intent-filter
. Но возможность нажатия на ссылку может зависеть от приложения SMS, которое отображает сообщение.
- person arlomedia; 04.10.2018