context.getPackageManager().getPackageInfo(packageName,
PackageManager.GET_SIGNATURES).versionCode
실제로 페이스 북 버전 코드 (버전 이름과 다름)가 반환됩니다. 일부 파고 들자 마자 우리는 Facebook 버전 1.9.8 이상이 버전 코드 버전 코드 40477+ 인 것으로 나타났습니다.
더 이상 사용되지 않는 Facebook.java 클래스를 사용하고 있으므로 validateAppSignatureForPackage()가 수정되어 작동하는 것 같습니다! 당신이 스스로를 테스트하려면
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;
}
, 당신은 여기에 페이스 북의 응용 프로그램의 이전 버전을 찾을 수 있습니다 http://www.androiddrawer.com/2274/download-facebook-for-android-1-9-7-app-apk/#.Uctn6Zwaux4
의 중복 가능성 [오래된 페이스 북 응용 프로그램 버전과 페이스 북 SDK 3.0은 브라우저 리디렉션 및 내동댕이]
(http://stackoverflow.com/questions/17131868/facebook-sdk-3-0-with-old-facebook-app-version-redirects-to-browser-and-gets-stu) – thepoosh