在Android应用中集成Facebook和LinkedIn

Dim*_*ris 3 android facebook single-instance linkedin

我有一个集成了Facebook和LinkdedIn网络的应用程序.根据说明,为了集成LinkedIn,我需要在我的活动中的清单中添加以下代码:

<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="x-oauthflow-linkedin" android:host="callback" />
</intent-filter>
Run Code Online (Sandbox Code Playgroud)

这里也可以找到一个例子.正如您在链接中看到的,我们还需要添加" android:launchMode ="singleInstance" "行,否则在使用LinkedIn登录后,将启动该活动的新实例.

但是,当尝试从同一活动登录Facebook时,此实际行会导致Facebook登录活动(!)出现以下错误:

E/AndroidRuntime(7100):引起:com.facebook.FacebookException:无法使用null调用包调用LoginActivity.如果调用者的launchMode是singleInstance,则会发生这种情况.

所以现在,我有点卡住,因为删除android:launchMode ="singleInstance"将使Facebook登录工作,但会导致LinkedIn登录启动我的活动的另一个实例,但如果我添加它,那么Facebook登录不起作用!

有谁知道如何解决这个问题?

谢谢,

季米特里斯

Dim*_*ris 5

在阅读了文档之后,似乎用singleTask替换singleInstance就可以了.虽然,我还没弄清楚究竟是为什么,但是我发布这个给别人看,以防有人需要它.我会尝试进一步挖掘并理解为什么,但在同一时间,如果有人能解释为什么这是有效的,那就太好了.