在应用程序中针对共享链接打开特定活动不适用于FB

时间:2018-11-16 02:08:38

标签: android facebook deep-linking

我在我的应用程序中添加了应用程序链接助手,以通过外部链接打开特定的活动。现在,我的HomeActivity中有类似的内容。

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_home);
    checkDeepLink();
}

private void checkDeepLink(){
    if (getIntent() != null && getIntent().getData() != null) {
        Uri data = getIntent().getData();
        String scheme = data.getScheme();
        String host = data.getHost();
        String param = data.getQuery();


        if (host.equals("page_details")){
            Intent intent = new Intent(this,DatadetailAcvity.class);
            intent.putExtra("detail_id",Long.valueOf(data.getQueryParameter("detail_id"))); 
            startActivity(intent);

    }
}

AndroidManifest.xml:

    <activity
        android:name=".HomeActivity"
        android:screenOrientation="portrait"
        android:theme="@style/AppTheme">
        <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:scheme="scheme" /> 
        </intent-filter>
    </activity>

然后我在DataDetailActivity中获取ID并打开特定的SharedData屏幕。 如果我通过短信和其他应用进行共享,它确实可以正常工作。但是,如果我在FB上共享,则它不会打开App,而是会打开浏览器并显示“在App中打开”,如所附屏幕截图所示。

Browser Menu

如果我单击它,则确实会打开应用程序中的特定活动。

我要在安装应用程序而不是浏览器时直接在应用程序中打开。

我的Facebook应用开发者页面显示深层链接已启用。我还在我的应用程序中添加了FB SDK。

Facebook Developer App setting

0 个答案:

没有答案