如何从 Android 的电子邮件中的 link 打开应用程序?
How to open an app from a link in an email on Android?
如果我从 Safari 调用 "myapp://",它会正确打开我的应用程序。
我使用了 URL 方案并且效果很好,这是我遵循的教程:URL Scheme
现在我想从电子邮件中打开我的应用程序。例如,在 Gmail 上,如果无法处理 http/https/www,则只能发送超链接。如果我发送带有 "myapp://" 的超链接,超链接会自动被禁止。
我无法调用将重定向到 "myapp://" 的虚拟网页,因为我服务器上的任何网页都需要身份验证。
我只是想知道是否还有其他方法可以从电子邮件打开移动应用程序而无需先调用网页?
您必须在清单中将 Uri
的 scheme
和 host
添加到应用程序启动 Activity
的 intent-filter
中:
<activity
android:name="com.somedomain.MainActivity"
android:label="@string/app_name" >
<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="myappuri.com"
android:scheme="https" />
</intent-filter>
</activity>
现在,当您在电子邮件中以 https://myappuri.com
形式提供 Uri
时,它会隐式打开您的应用程序(或者更确切地说,打开一个应用程序列表供您选择,其中包括您的应用程序)。
参考文献:
1. Allowing Other Apps to Start Your Activity.
2. <data>
.
如果我从 Safari 调用 "myapp://",它会正确打开我的应用程序。
我使用了 URL 方案并且效果很好,这是我遵循的教程:URL Scheme
现在我想从电子邮件中打开我的应用程序。例如,在 Gmail 上,如果无法处理 http/https/www,则只能发送超链接。如果我发送带有 "myapp://" 的超链接,超链接会自动被禁止。
我无法调用将重定向到 "myapp://" 的虚拟网页,因为我服务器上的任何网页都需要身份验证。
我只是想知道是否还有其他方法可以从电子邮件打开移动应用程序而无需先调用网页?
您必须在清单中将 Uri
的 scheme
和 host
添加到应用程序启动 Activity
的 intent-filter
中:
<activity
android:name="com.somedomain.MainActivity"
android:label="@string/app_name" >
<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="myappuri.com"
android:scheme="https" />
</intent-filter>
</activity>
现在,当您在电子邮件中以 https://myappuri.com
形式提供 Uri
时,它会隐式打开您的应用程序(或者更确切地说,打开一个应用程序列表供您选择,其中包括您的应用程序)。
参考文献:
1. Allowing Other Apps to Start Your Activity.
2. <data>
.