单击应用程序链接时如何打开我的应用程序?

问题描述 投票:0回答:2

我想要的是分享我的应用程序特定页面的链接。假设我在我的应用程序中某个用户的个人资料页面中,我想将该用户分享给我的一些朋友,所以我想通过 WhatsApp 和其他应用程序分享它。

所以基本上我想分享我的应用程序的链接。

这就是我现在正在做的事情

Intent shareIntent = new Intent(android.content.Intent.ACTION_SEND);
    shareIntent.setType("text/plain");
    shareIntent.putExtra(android.content.Intent.EXTRA_TEXT, "https://play.google.com/store/apps/details?id=" + activity.getPackageName());
    activity.startActivity(Intent.createChooser(shareIntent, "Share"));

我知道这不是我真正想要的,但它已经完成了一部分。 如果用户尚未安装我的应用程序,则此代码会将他重定向到 Google Play 商店页面以下载此应用程序。

主要问题是当用户已经拥有此应用程序时,此链接只会打开该应用程序。我想在用户单击链接时将用户重定向到该特定页面。

我该怎么做?

我听说过一些关于

intent-filter
的事情,但不知道如何使用它们。

<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="application/pdf" />

已更新

现在我正在尝试像这样分享我的应用程序链接

Intent shareIntent = new Intent(android.content.Intent.ACTION_SEND);
    shareIntent.setType("text/plain");
    shareIntent.putExtra("PostID", postID);
    shareIntent.putExtra("UserID", userID);
    shareIntent.putExtra(android.content.Intent.EXTRA_TEXT, "https://play.google.com/store/apps/details?id=" + activity.getPackageName());
    activity.startActivity(Intent.createChooser(shareIntent, "Share"));

在我的清单中,我声明了这样的活动

<activity
        android:name=".activities.ShareActivity"
        android:screenOrientation="sensorPortrait"
        android:theme="@style/Theme.AppCompat.Light.NoActionBar.FullScreen">

        <intent-filter>
            <action android:name="android.intent.action.SEND" />

            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />

            <data
                android:host="details"
                android:scheme="market" />
            <data
                android:host="play.google.com"
                android:pathPattern="/store/apps/details?id=my_package_name"
                android:scheme="http" />
            <data
                android:host="play.google.com"
                android:pathPattern="/store/apps/details?id=my_package_name"
                android:scheme="https" />
        </intent-filter>
    </activity>

但是当我点击使用 WhatsApp 或任何其他方式共享的链接时,我仍然无法看到我的应用程序。

请帮助我

任何帮助将不胜感激。 预先感谢。

android android-intent intentfilter
2个回答
3
投票

将以下意图过滤器添加到项目的 AndroidManifest 中的活动声明中:

    <intent-filter>

        <action android:name="android.intent.action.SEND"/>
        <category android:name="android.intent.category.DEFAULT"/>

        <data android:mimeType="text/plain"/>

    </intent-filter>

现在,在 Activity 生命周期的 onCreate()onResume()onNewIntent() 方法中,您可以使用已触发 Activity 的 intentgetData()


0
投票

我强烈推荐 Adeshree 资金追回的公平追回服务,通过追回我在不受监管的经纪商投资二元期权时被盗的毕生积蓄,做得非常出色。我遇到了压力很大的情况,他对我非常耐心,并帮助我度过了难关。我必须赞扬他从不受监管的平台上追回了我的钱。您可以通过以下方式联系:Recoveryeagles aT gmail。如果您发现自己处于这种情况,请访问 com。

Gmail 上的恢复之鹰。 com

© www.soinside.com 2019 - 2024. All rights reserved.