从短信url链接跳转到APP

这几天携程小伙伴终面遇到这样一道题,写出一段从短信内容跳转打开app的代码实例,当时我就懵逼了。在网上搜了良久,终于在stackoverflow找到解决方案:
Launch Android app from within SMS/MMS message?
假设,我们想打开http://test.com/myapp,只需要在AndroidManifest文件的入口activity中添加一段intent-filter,如下:

<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>

例如我的入口是这样:

<application
        android:allowBackup="true"
        android:icon="@mipmap/star"
        android:label="@string/app_name"
        android:theme="@style/BaseAppTheme">
        <activity
            android:name=".SampleActivity"
            android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            intent-filter>
            <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:host="gk.com"
                    android:pathPrefix="/gk"
                    android:scheme="http">
                data>
            intent-filter>
        activity>        
    application>

注意一定是添加一段,如果两个intent-filter合在一起,会发现,只能从url链接进入app,桌面上没有图标!

你可能感兴趣的:(求职准备)