2013-10-07 10 views

risposta

31

Si hanno FacebookSdkVersion classe con la versione corrente: https://github.com/facebook/facebook-android-sdk/blob/master/facebook/src/com/facebook/FacebookSdkVersion.java

final class FacebookSdkVersion { 
    public static final String BUILD = "3.5.2"; 
    public static final String MIGRATION_BUNDLE = "fbsdk:20130708"; 
} 

Dal momento che questa classe è senza modificatore e non è possibile accedervi dal proprio pacchetto, utilizzare una riflessione. Ciò restituirà la versione SDK:

private String getFacebookSDKVersion() 
{ 
    String sdkVersion = null; 
    ClassLoader classLoader = getClass().getClassLoader(); 
    Class<?> cls; 
    try 
    { 
     cls = classLoader.loadClass("com.facebook.FacebookSdkVersion"); 
     Field field = cls.getField("BUILD"); 
     sdkVersion = String.valueOf(field.get(null)); 
    } 
    catch (ClassNotFoundException e) 
    { 
     // error 
    } 
    catch (NoSuchFieldException e) 
    { 
     // error 
    } 
    catch (IllegalArgumentException e) 
    { 
     // error 
    } 
    catch (IllegalAccessException e) 
    { 
     // error 
    } 
    return sdkVersion; 
} 
1

C'è un'API pubblica: "Ottiene la versione corrente del Facebook SDK per Android come una stringa"

import com.facebook.Settings; 

Settings.getSdkVersion() 

Non è consigliabile utilizzare reflection per accedere alla classe del pacchetto: potrebbero cambiarlo in futuro e rompere il codice, ma questa API pubblica dovrebbe essere considerata stabile.

+0

Non vedo la libreria delle impostazioni disponibile. Lo sto usando per la prima volta e ho davvero bisogno di aiuto per conoscere la mia versione di sdk FB – saunlogan

1

Il modo più semplice:

1.- Vai al tuo AndroidManifest.xml

2.- Guardate il vostro inferiore Navigation View, ci sono due schede: testo e uniti manifesto, fare clic sull'ultima uno.

3.- Sul lato destro appariranno le Sorgenti manifest, eccolo: ad esempio ho questo: facebook-android-sdk: 4.20.0 manifest.

So che è un po 'vecchio, ma ho cercato questo nel marzo del 2017 e non c'è una risposta facile come questa.

Problemi correlati