Запустить приложение Android из SMS/MMS-сообщения?

Можно ли запустить приложение, используя URL-адрес, запущенный из приложения обмена сообщениями Android (SMS или MMS)?

Ответы

Ответ 1

Нет, единственный признанный URL:

  • Веб-адреса.
  • Адреса электронной почты.
  • Телефонные номера.
  • Адреса карт.

Из TextView android: autoLink XML.

Ответ 2

Предыдущий ответ был неправильным.

Вы можете добавить фильтр намерений для активности, которая "зарегистрирует" ваше приложение для обработки гиперссылок внутри тела 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-адресу как часть данных о намерениях.

Ответ 3

Кроме того, ответ, заданный @Adam,

В случае андроидного приложения существует фильтр с несколькими намерениями, мы должны использовать два. Один для запуска приложения и один для запуска приложения с использованием URL-адреса в sms

<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-адрес в ваш sms, как будто

http://yourdomain.com/someurlparam

Это должно запустить приложение по URL-адресу и добавить значок приложения в android, а также.