Facebook Android SDK & amp; java.lang.NullPointerException
Je vais avoir du mal à ouvrir un actif facebook session dans mon application android comme pour le tutoriel posté à https://developers.facebook.com/docs/android/getting-started/facebook-sdk-for-android/
J'ai été aux prises avec ce pour un certain temps maintenant, sans aucune chance! Je serai heureux si l'un de vous serait me pointer dans la bonne direction! (Je parie que l'erreur est avec une certaine configuration de mon côté, mais je suis incapable de le repérer)
Voici l'erreur que je vois après l'appel de Session.openActiveSession(this, true, nouvelle Session.StatusCallback() dans le onCreate de mon activité (je suis à peu près suivant les étapes indiquées dans facevook développeur tutoriels)
EDIT :
Le message d'avertissement suivant est enregistré premier et le suivi par le message d'erreur dans la suite de la capture d'écran
09-03 19:26:22.726: W/Bundle(17458):
com.facebook.la plate-forme.le protocole.PROTOCOL_VERSION Chaîne attendue mais
la valeur est un java.lang.Entier. La valeur par défaut a été retourné.
09-03 19:26:22.736: W/Bundle(17458): Tentative de le jeter généré
exception interne: 09-03 19:26:22.736: W/Bundle(17458):
java.lang.ClassCastException: java.lang.Entier ne peut pas être jeté à l'
java.lang.Chaîne 09-03 19:26:22.736: W/Bundle(17458):
android.os.Bundle.getString(Bundle.java:1061) 09-03 19:26:22.736:
W/Bundle(17458):
android.contenu.L'intention.getStringExtra(Intention.java:4466) 09-03
19:26:22.736: W/Bundle(17458):
com.facebook.AuthorizationClient$KatanaLoginDialogAuthHandler.tryAuthorize(AuthorizationClient.java:821)
09-03 19:26:22.736: W/Bundle(17458):
com.facebook.AuthorizationClient.tryCurrentHandler(AuthorizationClient.java:272)
09-02 22:55:04.110: E/AndroidRuntime(13287): FATAL EXCEPTION: les principales
09-02 22:55:04.110: E/AndroidRuntime(13287):
java.lang.RuntimeException: Incapable de reprendre l'activité
{com.bon.amrfbintegration/com.facebook.LoginActivity}:
java.lang.NullPointerException 09-02 22:55:04.110:
E/AndroidRuntime(13287):
android.app.ActivityThread.performResumeActivity(ActivityThread.java:3036)
09-02 22:55:04.110: E/AndroidRuntime(13287):
android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3077)
09-02 22:55:04.110: E/AndroidRuntime(13287):
android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2373)
Voici ce que j'ai fait jusqu'à présent
Mise à jour de l'Application sur Facebook avec les informations suivantes (j'ai utilisé le hashkey générées à l'aide de ma machine de débogage du fichier de clés)
Voici les info de mon fichier manifest (@string/app_id est l'Id de l'Application de facebook dev portail)
J'ai ajouté une référence à la Facebook SDK pour mon projet de cette façon
Voici le code de ma méthode OnCreate de l'activité principale
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
activity = this;
Session.openActiveSession(this, true, new Session.StatusCallback()
{
@Override
public void call(Session session, SessionState state, Exception exception)
{
if (session.isOpened())
{
Toast.makeText(activity, "Connected to Fb", Toast.LENGTH_SHORT).show();
}
}});
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data);
}
Sur l'exécution de la Session.openActiveSession, logcat afficher le message d'erreur indiqué dans ma première capture d'écran.
La Session.StatusCallback()'appel de la méthode est exécutée en une seule fois (alors que la session a un état d'ouverture), mais l'application se bloque le moment par la suite. voici ce que je vois avant l'Application se bloque
Toute aide serait grandement appréciée!
source d'informationauteur infinity
Vous devez vous connecter pour publier un commentaire.
Ce problème à cause de Facebook SDK, merci de télécharger et d'utiliser Facebook SDK 3.5.2 à partir de ce
URL:-https://developers.facebook.com/docs/android/
Oui. Vérifiez votre code,
Assurez-vous que vous avez ces choses sur Manifest.xml
Et @string/app_id doit contenir les app_id que vous obtenez à partir de votre facebook app détails de la configuration. Là aussi, vous devriez mettre le bon keyhash.
Alors assurez - -
Il m'est arrivé aujourd'hui.
Mon problème était que le Facebook app est en mode sandbox. Si seulement les Développeurs et les Testeurs puissent l'utiliser.
Changer depuis le Facebook Développeur propriétés de la page de votre application:
https://developers.facebook.com/apps
Aussi trouvé ma réponse ici:
Ne peut pas accéder à Facebook à la session de l'UnknownError: Invalid application
J'ai creusé un peu dans le kit de développement (3.5) et il semble que EXTRA_PROTOCOL_VERSION est toujours considéré comme un Entier non pas comme une Chaîne de caractères. I. e. dans NativeProtocol.java:
Et à l'endroit où les devs généralement obtenir cette erreur est lu comme un String (AuthorizationCLient.java l:820):
Qui ne fonctionne pas dans tous les cas si c'est encore un bug dans le SDK. C'est juste que dans certaines circonstances, le segment est exécuté.
Des commentaires?
J'avais la même erreur,google avait beaucoup de choses et finalement, c'est ce que j'ai fait pour sortir de cette erreur
J'ai utilisé l'Hash_Key généré par ce code,et mis à jour dans mon facebook developer console. Cela a résolu mon problème.Sans doute,quelques problèmes avec windows key_gen ou l'android key_store
Et aussi,faire vérifier votre AuthorizationClient.java fichier de Facebook Sdk à la ligne 820
Je l'ai fait "getIntExtra",où ils avaient comme "getStringExtra". Ces modifications,qui a travaillé pour moi.
Espérons qu'il va travailler pour vous aussi.