【问题标题】:How to open an app from a link in an email on Android?如何在 Android 上通过电子邮件中的链接打开应用程序?
【发布时间】:2015-06-08 14:34:55
【问题描述】:

如果我从 Safari 中调用“myapp://”,它会正确打开我的应用程序。

我使用了 URL Scheme,它运行良好,这是我遵循的教程:URL Scheme

现在我想通过电子邮件打开我的应用程序。例如,在 Gmail 上,您只能在无法处理 http/https/www 的情况下发送超链接。如果我发送带有“myapp://”的超链接,超链接会被自动隐藏。

我无法调用会重定向到“myapp://”的虚拟网页,因为我服务器上的任何网页都需要身份验证。

我只是想知道是否还有其他可能性可以通过电子邮件打开移动应用程序而无需先调用网页?

【问题讨论】:

    标签: android ios android-intent uri intentfilter


    【解决方案1】:

    您必须在清单中将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. &lt;data&gt;.

    【讨论】:

    • 我还没有在Android上测试过,你有没有机会在iOS上也有同样的可能性:)?
    • 值得怀疑。 iOS 没有任何等价于 Intent 的概念。
    • 完美,无论如何我都会在Android上使用它,太糟糕了iOS没有等效的......
    猜你喜欢
    • 2016-04-17
    • 2017-06-11
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    • 2012-07-30
    • 2013-08-30
    • 1970-01-01
    • 2012-10-21
    相关资源
    最近更新 更多