2015-03-12 1 views
0

Je sais que cette question est déjà posée et répondue, mais cela ne m'a pas aidé. Je travaille sur l'intégration de quelques applications sociales comme Facebook et Twitter en utilisant l'authentification sociale. Je les ai mis en œuvre avec succès par le code suivant:Comment obtenir le jeton d'accès dans le réseau social d'Android et comment les réutiliser

public class SignUp extends Activity implements OnClickListener { 
private EditText email_mEditText,password_mEditText; 
SocialAuthAdapter socialAuthAdapter; 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.sign_up); 
    socialAuthAdapter = new SocialAuthAdapter(new ResponseListener()); 
    socialAuthAdapter.authorize(SignUp.this, Provider.FACEBOOK); 
    socialAuthAdapter.signOut(this, Provider.FACEBOOK.toString()); 

Avec ce code, je suis en mesure d'ouvrir Facebook pour autoriser, mais je veux obtenir le jeton d'accès. J'ai essayé le code suivant pour obtenir le jeton d'accès à mon activité:

socialAuthAdapter.getCurrentProvider().getAccessGrant().getKey(); 

Cependant, cette plante l'application et affiche une NullPointerException.

03-12 16:14:37.278: E/AndroidRuntime(19405): FATAL EXCEPTION: main 03-12 16:14:37.278: E/AndroidRuntime(19405): Process: com.technearby.app.main, PID: 19405 03-12 16:14:37.278: E/AndroidRuntime(19405): java.lang.NullPointerException 03-12 16:14:37.278: E/AndroidRuntime(19405): at com.technearby.app.main.SignUp.onClick(SignUp.java:107) 03-12 16:14:37.278: E/AndroidRuntime(19405): at android.view.View.performClick(View.java:4438) 03-12 16:14:37.278: E/AndroidRuntime(19405): at android.view.View$PerformClick.run(View.java:18422) 03-12 16:14:37.278: E/AndroidRuntime(19405): at android.os.Handler.handleCallback(Handler.java:733) 03-12 16:14:37.278: E/AndroidRuntime(19405): at android.os.Handler.dispatchMessage(Handler.java:95) 03-12 16:14:37.278: E/AndroidRuntime(19405): at android.os.Looper.loop(Looper.java:136) 03-12 16:14:37.278: E/AndroidRuntime(19405): at android.app.ActivityThread.main(ActivityThread.java:5001) 03-12 16:14:37.278: E/AndroidRuntime(19405): at java.lang.reflect.Method.invokeNative(Native Method) 03-12 16:14:37.278: E/AndroidRuntime(19405): at java.lang.reflect.Method.invoke(Method.java:515) 03-12 16:14:37.278: E/AndroidRuntime(19405): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785) 03-12 16:14:37.278: E/AndroidRuntime(19405): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601) 03-12 16:14:37.278: E/AndroidRuntime(19405): at dalvik.system.NativeStart.main(Native Method)

+0

Pourriez-vous ajouter l'exception à votre question? C'est seulement alors que nous savons ce qu'il pointe. – Shishdem

+0

@Shishdem 03-12 16: 14: 37.278: E/AndroidRuntime (19405): java.lang.NullPointerException –

+0

L'ensemble du stacktrace serait bien, maintenant nous ne pouvons toujours pas voir à quoi pointe l'exception. EG ce qui est "nul". – Shishdem

Répondre

0

Vous devez ajouter vous-même les fournisseurs à l'adaptateur. Par exemple, adapter.addProvider(Provider.FACEBOOK, R.drawable.facebook);.