google + para Android (obtener puntero nulo)
Estoy tratando de incorporar Google + para Android pasando por este google oficial documentación . Después de seguir los pasos dados:
- Dwnload último SDK
- Usando Android 4.4.2,
- Configurado Eclipse para usar Java 1.7( aunque está diciendo que use 1.6, supongo que no es mi problema)
- Luego habilitó la API de Google+ proporcionando
Package.Name
ySha1
. Luego configuro la aplicación de ejemplo y adjunto google-play-services_lib(importado) a ella.
Ahora, cuando estoy ejecutando la aplicación, está dando una excepción en la actividad principal
mGoogleApiClient = new GoogleApiClient.Builder(this)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.addApi(Plus.API, null) // here the exception (nullPointerException)
.addScope(Plus.SCOPE_PLUS_LOGIN).build();
Lo estoy ejecutando en el dispositivo físico Android 4.1.2.
Pasando por Google, pero no tuvo suerte.
LogCat:
05-27 10:23:46.808: D/ActivityThread(11136): setTargetHeapUtilization:0.25
05-27 10:23:46.808: D/ActivityThread(11136): setTargetHeapIdealFree:8388608
05-27 10:23:46.808: D/ActivityThread(11136): setTargetHeapConcurrentStart:2097152
05-27 10:23:47.228: D/AndroidRuntime(11136): Shutting down VM
05-27 10:23:47.228: W/dalvikvm(11136): threadid=1: thread exiting with uncaught exception (group=0x411eb438)
05-27 10:23:47.228: E/AndroidRuntime(11136): FATAL EXCEPTION: main
05-27 10:23:47.228: E/AndroidRuntime(11136): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.mygoogleplus/com.example.mygoogleplus.GooglePlusMainActivity}: java.lang.NullPointerException: Null options are not permitted for this Api
05-27 10:23:47.228: E/AndroidRuntime(11136): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2114)
05-27 10:23:47.228: E/AndroidRuntime(11136): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2139)
05-27 10:23:47.228: E/AndroidRuntime(11136): at android.app.ActivityThread.access$700(ActivityThread.java:143)
05-27 10:23:47.228: E/AndroidRuntime(11136): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1241)
05-27 10:23:47.228: E/AndroidRuntime(11136): at android.os.Handler.dispatchMessage(Handler.java:99)
05-27 10:23:47.228: E/AndroidRuntime(11136): at android.os.Looper.loop(Looper.java:137)
05-27 10:23:47.228: E/AndroidRuntime(11136): at android.app.ActivityThread.main(ActivityThread.java:4960)
05-27 10:23:47.228: E/AndroidRuntime(11136): at java.lang.reflect.Method.invokeNative(Native Method)
05-27 10:23:47.228: E/AndroidRuntime(11136): at java.lang.reflect.Method.invoke(Method.java:511)
05-27 10:23:47.228: E/AndroidRuntime(11136): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
05-27 10:23:47.228: E/AndroidRuntime(11136): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
05-27 10:23:47.228: E/AndroidRuntime(11136): at dalvik.system.NativeStart.main(Native Method)
05-27 10:23:47.228: E/AndroidRuntime(11136): Caused by: java.lang.NullPointerException: Null options are not permitted for this Api
05-27 10:23:47.228: E/AndroidRuntime(11136): at com.google.android.gms.internal.fq.b(Unknown Source)
05-27 10:23:47.228: E/AndroidRuntime(11136): at com.google.android.gms.common.api.GoogleApiClient$Builder.addApi(Unknown Source)
05-27 10:23:47.228: E/AndroidRuntime(11136): at com.example.mygoogleplus.GooglePlusMainActivity.onCreate(GooglePlusMainActivity.java:89)
05-27 10:23:47.228: E/AndroidRuntime(11136): at android.app.Activity.performCreate(Activity.java:5203)
05-27 10:23:47.228: E/AndroidRuntime(11136): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
05-27 10:23:47.228: E/AndroidRuntime(11136): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2078)
3 answers
Los siguientes han funcionado para mí.
Simplemente pase un solo parámetro de esta manera.
.addApi(Plus.API)
En lugar de
.addApi(Plus.API, null)
O
También podría pasarle un objeto PlusOptions
.addApi(Plus.API, Plus.PlusOptions.builder().build())
Cualquiera de estas soluciones funcionará.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-09-18 10:15:53
Deberías crear opciones para esa API
.addApi(Plus.API, PlusOptions.builder().build())
Si usas GameHelper - deberías llamar a setPlusApiOptions antes de la configuración.
// Google Play Services
m_GameHelper = new GameHelper(this, GameHelper.CLIENT_GAMES | GameHelper.CLIENT_PLUS);
m_GameHelper.setPlusApiOptions( PlusOptions.builder().build() );
m_GameHelper.setup(this);
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-07-10 08:26:12
mGoogleApiClient = new GoogleApiClient.Builder(this)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.addApi(Plus.API)
.addScope(Plus.SCOPE_PLUS_LOGIN)
.build();
Funcionó para mí. mGoogleApiClient es un objeto de GoogleApiClient. Pase solo un parámetro a addApi (). Como
.addApi(Plus.API)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-02-26 06:11:22