gpt4 book ai didi

android - 带有旧 Facebook 应用程序版本的 Facebook SDK 3.0 重定向到浏览器并卡住

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:38:01 25 4
gpt4 key购买 nike

我的应用程序中有一个 FB AuthButton,它正在连接到 FB 进程
我的设备正在运行旧版本的 FB 应用程序(版本 1.8.3 - 1.8.4)。

当我点击登录按钮时,进程不会启动 native 应用程序,而是调用浏览器来完成进程。
在日志中,我看到了这些日志:

06-16 12:26:00.709: E/ActivityThread(21597): Failed to find provider info for com.facebook.katana.provider.AttributionIdProvider
06-16 12:26:03.321: E/Tab(21678): onReceivedError -10 fbconnect://success#access_token=MY_TOKEN&expires_in=5170432 The protocol is not supported.

在屏幕上,浏览器显示了这个截图:

FB wtf?!

关于如何解决此问题或重定向回我的应用有任何想法吗?

最佳答案

我们发现 Facebook 版本 1.9.8+ 有效,版本代码为 40477+。

由于我们使用已弃用的 Facebook.java 类,因此我们修改了 validateAppSignatureForPackage()。它现在似乎适用于所有版本的 facebook 应用程序。

private boolean validateAppSignatureForPackage(Context context, String packageName) 
{
PackageInfo packageInfo;
try
{
packageInfo = context.getPackageManager().getPackageInfo(packageName,
PackageManager.GET_SIGNATURES);
if(packageInfo.versionCode<40477)
{
Log.i("validateAppSignatureForPackage",
"Your facebook app version is prior to 1.9.8. Update your facebook app");
return false;
}
}
catch (NameNotFoundException e)
{
Log.i("validateAppSignatureForPackage", e.getMessage());
return false;
}
catch(Exception e)
{
Log.i("validateAppSignatureForPackage", e.getMessage());
return false;
}

for (Signature signature : packageInfo.signatures) {
if (signature.toCharsString().equals(FB_APP_SIGNATURE)) {
return true;
}
}
return false;
}

如果您想自己测试,可以在这里找到以前版本的 facebook 应用程序:http://www.androiddrawer.com/2274/download-facebook-for-android-1-9-7-app-apk/#.Uctn6Zwaux4

关于android - 带有旧 Facebook 应用程序版本的 Facebook SDK 3.0 重定向到浏览器并卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17131868/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com