是否可以使用从Android消息应用程序(SMS或MMS)中启动的URL启动应用程序?
答案 0 :(得分:41)
之前的答案不正确。
您可以为活动添加意图过滤器,以便“注册”您的应用以处理SMS正文中的超链接。
例如,如果将以下intent添加到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>
您发送短信,内容如下:
http://test.com/myapp/somedata
您的应用程序将启动,活动将能够作为意图数据的一部分访问URL。
答案 1 :(得分:6)
另外由@Adam给出答案,
在Android应用程序的情况下有多个intent过滤器,我们必须使用两个。一个用于应用启动器,另一个用于使用短信中的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>
现在在短信中添加一个类似
的网址http://yourdomain.com/someurlparam
这应该在url点击启动应用程序,并在android中添加应用程序图标。
答案 2 :(得分:2)