2016-06-17 17 views
12

Avevo un pulsante di accesso a Facebook per 5 mesi nella mia applicazione e ha funzionato esattamente come previsto ... fino ad oggi. Questo NullPointerException si avvicinò:"Argument 'contesto' non può essere nullo"

java.lang.NullPointerException: Argument 'context' cannot be null 
    at com.facebook.internal.Validate.notNull(Validate.java:76) 
    at com.facebook.internal.Utility.getMetadataApplicationId(Utility.java:594) 
    at com.facebook.appevents.AppEventsLogger.<init>(AppEventsLogger.java:757) 
    at com.facebook.appevents.AppEventsLogger.<init>(AppEventsLogger.java:732) 
    at com.facebook.appevents.AppEventsLogger.newLogger(AppEventsLogger.java:400) 
    at com.facebook.FacebookButtonBase.logButtonCreated(FacebookButtonBase.java:225) 
    at com.facebook.FacebookButtonBase.onAttachedToWindow(FacebookButtonBase.java:136) 
    at com.facebook.login.widget.LoginButton.onAttachedToWindow(LoginButton.java:452) 
    at android.view.View.dispatchAttachedToWindow(View.java:14514) 
    at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2843) 
    at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2843) 
    at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2843) 
    at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2843) 
    at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2843) 
    at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2843) 
    at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2843) 
    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1364) 
    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1107) 
    at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6013) 
    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:858) 
    at android.view.Choreographer.doCallbacks(Choreographer.java:670) 
    at android.view.Choreographer.doFrame(Choreographer.java:606) 
    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:844) 
    at android.os.Handler.handleCallback(Handler.java:739) 
    at android.os.Handler.dispatchMessage(Handler.java:95) 
    at android.os.Looper.loop(Looper.java:148) 
    at android.app.ActivityThread.main(ActivityThread.java:5417) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 

ho il sospetto che è causato dal file sotto manifesto .:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="orange.oaca"> 

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.GET_ACCOUNTS" /> 
<uses-permission android:name="android.permission.USE_CREDENTIALS" /> 
<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.READ_PHONE_STATE"/> 
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 



<application 

    android:allowBackup="true" 
    android:icon="@mipmap/logooaca" 
    android:label="@string/app_name" 
    android:supportsRtl="true" 
    android:theme="@style/AppTheme" 
    android:name=".Configs.AppController"> 
    <!-- Notice this tag which provides the database name --> 
    <meta-data 
     android:name="OACA" 
     android:value="OACA.db" /> 
    <!-- Notice this tag which provides the database version --> 
    <meta-data 
     android:name="DB_VERSION" 
     android:value="1" /> 
    <meta-data 
     android:name="AA_MODELS" 
     android:value="orange.oaca.model.User,orange.oaca.model.Vol,orange.oaca.model.Airport,orange.oaca.model.CategorieServiceIn" /> 
    <meta-data 
     android:name="com.facebook.sdk.ApplicationId" 
     android:value="@string/facebook_app_id" /> 
    <meta-data 
     android:name="com.google.android.gms.version" 
     android:value="@integer/google_play_services_version" /> 
    <meta-data 
     android:name="com.google.android.geo.API_KEY" 
     android:value="AIzaSyCUMuMhGrrTdt44y2XZ5hwNPO9CqeLBxSM" /> 
    <activity 
     android:name=".SignUp" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme.NoActionBar" /> 
    <activity 
     android:name=".HomeActivity" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme.NoActionBar" /> 
    <activity 
     android:name="com.facebook.FacebookActivity" 
     android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation" 
     android:label="@string/app_name" 
     android:theme="@android:style/Theme.Translucent.NoTitleBar" /> 
    <activity 
     android:name=".CreerCompte" 
     android:label="@string/title_activity_creer_compte" 
     android:theme="@style/AppTheme.NoActionBar" /> 
    <activity android:name=".SplashScreen"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity 
     android:name=".FlightListView" 
     android:label="@string/title_activity_flight_list_view" 
     android:theme="@style/AppTheme.NoActionBar" /> 
    <activity 
     android:name=".AirportListView" 
     android:label="@string/title_activity_airport_list_view" 
     android:theme="@style/AppTheme.NoActionBar" /> 
    <activity 
     android:name=".DetailVol" 
     android:label="@string/title_activity_detail_vol" 
     android:theme="@style/AppTheme.NoActionBar"></activity> 
</application> 

Inoltre, Android Studio sta facendo un reclamo insolito che non c'è alcun contesto: enter image description here

Cosa sta succedendo qui?

+0

il problema è che la mia app id è lo stesso, ma dice _at com.facebook.internal.Utility.getMetadataApplicationId_ ho ricontrollato i meta dati e strings.xml, ma non cambia l'app non può iniziare –

+0

Il percorso di debug è comunque lo stesso. Errori come questo non si limitano a "presentarsi". –

+0

Ho cambiato l'hash chiave da Facebook Developer ma cambiarlo non significa arrestare l'app! è apparso davvero non ho apportato modifiche !!! –

risposta

16

Ho la stessa eccezione, sembra che qualcosa non funzioni con il nuovo SDK di Facebook, suggerisco di tornare alla versione precedente.

ho cambiato la mia build.gradle

from: compile 'com.facebook.android:facebook-android-sdk:4.+ 
to: compile 'com.facebook.android:facebook-android-sdk:4.12.1' 

e che ha risolto il mio problema.

L'elenco delle versioni SDK è qui: https://developers.facebook.com/docs/android/downloads

+0

infatti ho aggiunto questa riga e funziona di nuovo bene AppEventsLogger.activateApp (this); –

+1

Ho ricevuto lo stesso errore, ma non ha funzionato per me. qualsiasi altra soluzione? Problema –

+1

in 4.13.0 e 4.13.1, quindi è necessario utilizzare 4.12.1 è meglio –