在Android中与Facebook应用程序打开链接

文卡特·科特拉(Venkat Kotra)

请查看下面的两个链接。在Whatsapp中粘贴时,第一个打开Facebook应用程序,第二个打开浏览器。

在Facebook应用中打开:

https://m.facebook.com/SriSwamiji/posts/1099353043449548:0

在浏览器中打开:

https://www.facebook.com/SriSwamiji/photos/a.186720728046122.67368.108460819205447/1099353043449548/?type=3

是什么使第二个链接在浏览器中打开?我想通过Facebook应用程序打开它。

佩洛乔

我想说这是由于深层链接在您的任何应用中,您都可以添加过滤器,以在Android系统尝试解析URL时触发您的应用。

可能是Facebook应用已配置了http://m.*网址的深层链接

编辑:我已经通过adb测试了它,这是由于深层链接。你可以用

adb shell am start -W -a android.intent.action.VIEW -d <URL>

深层链接文档中所述

这是输出:

$ adb shell am start -W -a android.intent.action.VIEW -d "https://m.facebook.com/SriSwamiji/posts/1099353043449548:0"
Starting: Intent { act=android.intent.action.VIEW dat=https://m.facebook.com/... }
Status: ok
Activity: com.facebook.katana/com.facebook.deeplinking.activity.StoryDeepLinkLoadingActivity
ThisTime: 127
TotalTime: 208
WaitTime: 253
Complete

如您所见,Activity启动的是com.facebook.katana(Facebook应用程序)。

$ adb shell am start -W -a android.intent.action.VIEW -d "https://www.facebook.com/SriSwamiji/photos/a.186720728046122.67368.108460819205447/1099353043449548/?type=3"
Starting: Intent { act=android.intent.action.VIEW dat=https://www.facebook.com/... }
Status: ok
Activity: com.android.chrome/org.chromium.chrome.browser.document.DocumentActivity
ThisTime: 121
TotalTime: 179
WaitTime: 223
Complete

在这种情况下com.android.chrome启动

另外,如果您查看Facebook应用清单(使用ManifestViewer之类的应用,您会发现它intent-filter可以处理一些问题:

        <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="http"
                android:host="m.facebook.com"
                android:pathPrefix="/events"/>
            <data
                android:scheme="https"
                android:host="m.facebook.com"
                android:pathPrefix="/events"/>
            <data
                android:scheme="http"
                android:host="m.facebook.com"
                android:pathPrefix="/groups"/>
            <data
                android:scheme="https"
                android:host="m.facebook.com"
                android:pathPrefix="/groups"/>
            <data
                android:scheme="http"
                android:host="www.facebook.com"
                android:pathPrefix="/groups"/>
            <data
                android:scheme="https"
                android:host="www.facebook.com"
                android:pathPrefix="/groups"/>
            <data
                android:scheme="http"
                android:host="www.facebook.com"
                android:pathPrefix="/events"/>
            <data
                android:scheme="https"
                android:host="www.facebook.com"
                android:pathPrefix="/events"/>
        </intent-filter>

在您的具体情况下,我会说该链接是在

    <activity
        android:theme="@2131625627"
        android:name="com.facebook.katana.ContactUriHandler"
        android:taskAffinity="com.facebook.task.ContactUriHandler"
        android:excludeFromRecents="true"
        android:launchMode="singleInstance">
        <intent-filter>
            <action
                android:name="android.intent.action.VIEW"/>
            <category
                android:name="android.intent.category.DEFAULT"/>
            <data
                android:mimeType="vnd.android.cursor.item/vnd.facebook.profile"
                android:host="com.android.contacts"/>
            <data
                android:mimeType="vnd.android.cursor.item/vnd.facebook.presence"
                android:host="com.android.contacts"/>
        </intent-filter>
    </activity>

并且内部支持帖子,但不支持照片

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从Android应用程序打开Facebook页面?

在iOS上通过本机Facebook应用程序打开Facebook链接

从我的应用程序打开Facebook应用程序

如何直接从Android应用程序打开Youtube视频链接?

从深层链接检测打开的应用程序

如何实现Facebook共享,然后使用Android应用程序中的深层链接(打开我的应用程序)发布帖子的深层链接?

Android深层链接会在我链接到的应用程序中打开,而不是启动我的应用程序的单独实例

单击网站链接后如何打开Android应用程序?

Android应用程序链接-在浏览器中从应用程序打开URL而不触发应用程序链接

如何在应用程序Android Kotlin中打开WebView链接

可以在codenameone应用程序中打开一个Facebook应用程序的链接吗?

Android应用程序中的深层链接

通过单击“ Shiny”应用程序中的链接来打开其他“ Shiny”应用程序

如果已安装在iPhone中,则在Facebook中打开一个共享链接以在本机应用程序中打开

正确在浏览器或本机应用程序中打开Facebook页面链接IOS Cordova

Facebook Android应用程序链接打开Facebook页面而不是Play商店

从Facebook打开应用程序链接

在Chrome上的外部应用程序中打开PDF链接

使用Facebook请求的android应用程序链接共享

Android:选择用于打开链接的应用程序

如何通过Android电子邮件中的链接打开应用程序?

混合应用程序发送链接以在Android中由系统打开

链接到SMS应用程序无法在Android邮件中打开

从应用程序打开android深度链接

如何在Android的我的应用程序中打开其他应用程序的链接

iOS Ionic 应用程序中的链接无法立即打开

IONIC : 在移动应用程序中打开网络链接

为什么android应用程序动态创建的“动态链接”不能直接打开应用程序?

如何在 facebook 应用程序高级设置中显示 Facebook 业务经理帐户与 facebook 应用程序的链接