我们发现 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