允许用户将 link 从应用程序发送给另一个人,然后在单击时打开应用程序

Allow user to send link from app to another person and then open app when clicked

我什至不确定这是否可能,但这是我想做的。

为用户提供共享某些内容(例如库存项目)的选项。使用 ACTION_SENDIntent 很容易做到这一点。但是,如果其他人安装了相同的应用程序,link 应该将他们带到我的应用程序并传递发送给他们的数据(以便应用程序可以向他们显示)。如果他们没有该应用程序,应该将他们带到应用程序商店以鼓励他们下载该应用程序。

这可能吗,如果可以的话是怎么做到的?

如本 link 所述:Create Deep Links

您应该在您的清单中添加:

<activity
    android:name="com.example.android.GizmosActivity"
    android:label="@string/title_gizmos" >
    <intent-filter android:label="@string/filter_view_http_gizmos">
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
            <!-- Accepts URIs that begin with "http://www.example.com/gizmos” -->
            <data android:scheme="http"
                  android:host="www.example.com"
                  android:pathPrefix="/gizmos" />
            <!-- note that the leading "/" is required for pathPrefix-->
        </intent-filter> 
</activity>

然后与另一个人分享一个以“http://www.example.com/gizmos”(假url)开头的link。

是的,可以通过在 url 中处理添加状态参数,然后从服务器端代码重定向到播放商店。

例如 - 您的应用生成 url 指向某些用户个人资料 -

https://www.yourSocialNewtwork.com/profile/sandeshDahake

第 1 步 - 使用 Intent 过滤器在您的应用中创建一个深度 link。这将处理您的应用程序已经安装并将参数传递给它 -

<data android:scheme="https"
          android:host="www.yourSocialNewtwork.com"
          android:pathPrefix="/profile" />

第 2 步 - 如果未安装应用程序,您可以从服务器端重定向到 Play 商店

https://developer.android.com/google/play/installreferrer/library#java

https://play.google.com/store/apps/details?id=com.profile.yourHierarchy &referrer=sandeshDahake

我听说有一些开源项目可以处理这种情况,但尚未探索它们。

基本上这里的技巧是正确的 url 结构和深度 linking。 https://developer.android.com/training/app-links/deep-linking