我的应用程序中有一个 FB AuthButton 正在连接到 FB 进程
我的设备正在运行旧版本的 FB 应用程序(版本 1.8.3 - 1.8.4)。
当我单击登录按钮时,该过程不会启动本机应用程序,而是调用浏览器来完成该过程。
在日志中,我看到这些日志:
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.
在屏幕上,浏览器显示以下屏幕截图:
关于如何解决此问题或重定向回我的应用程序有什么想法吗?
我们发现 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 http://www.androiddrawer.com/2274/download-facebook-for-android-1-9-7-app-apk/#.Uctn6Zwaux4
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)