Android的 - Google+分享状态失败

问题描述:

我去了谷歌对如何从我的Android应用与Google+分享状态描述:https://developers.google.com/+/mobile/android/share/
(我做的一个示例应用程序,不正是他们的例子做)Android的 - Google+分享状态失败

我得到这个异常:

Process: com.google.android.gms.ui, PID: 19643 
java.lang.IllegalArgumentException 
     at com.google.k.a.aj.a(SourceFile:72) 
     at com.google.android.gms.plus.audience.a.e.<init>(SourceFile:63) 
     at com.google.android.gms.plus.audience.a.e.<init>(SourceFile:53) 
     at com.google.android.gms.plus.audience.a.d.<init>(SourceFile:28) 
     at com.google.android.gms.plus.sharebox.al.a(SourceFile:213) 
     at android.support.v4.app.ax.c(SourceFile:490) 
     at android.support.v4.app.ax.d(SourceFile:499) 
     at android.support.v4.app.ax.b(SourceFile:646) 
     at com.google.android.gms.plus.sharebox.al.a(SourceFile:192) 
     at com.google.android.gms.plus.sharebox.ShareBoxActivity.a(SourceFile:525) 
     at com.google.android.gms.plus.sharebox.au.a(SourceFile:810) 
     at com.google.android.gms.plus.internal.ce.a(SourceFile:214) 
     at com.google.android.gms.common.internal.v.d(SourceFile:200) 
     at com.google.android.gms.common.internal.u.handleMessage(SourceFile:136) 
     at android.os.Handler.dispatchMessage(Handler.java:102) 
     at android.os.Looper.loop(Looper.java:135) 
     at android.app.ActivityThread.main(ActivityThread.java:5221) 
     at java.lang.reflect.Method.invoke(Native Method) 
     at java.lang.reflect.Method.invoke(Method.java:372) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) 

这似乎错误是从内部“谷歌播放服务”来,但我不知道为什么?

想法?

+1

这有点离题,但我发现这些方法名称混淆可怕的事实。 – atok 2014-12-01 19:06:27

+0

前L设备也发生崩溃吗?我只在L设备上发现了碰撞事故。Kitkat工作,Lollipop坠毁。 – Tarun 2014-12-23 20:44:05

在我更新我的项目中的Google Play服务库之后,我经历了同样的行为。我通过PlusShare.Builder启动了G +共享对话框,导致应用崩溃。我通过切换到ShareCompat.IntentBuilder来解决该问题(共享对话框完全相同)。

+0

是的这个解决方案的工作原理,但它不是同一个对话框。您希望loggedIn用户成为共享的用户。 – refaelos 2014-12-04 19:40:14

我使用google-play-services 6.1.71看到了同样的错误。上面的Edu Barbas有正确的答案,使用ShareCompat.IntentBuilder似乎可以解决问题。我没有足够的积分对他的回答发表评论,但我想补充一点,共享活动的意图和启动建设,是有一点不同:

 Intent shareIntent = ShareCompat.IntentBuilder.from(TheCurrentActivity.this) 
       .setType("text/plain") 
       .setText(statusMessage) 
       .getIntent() 
       .setPackage("com.google.android.apps.plus"); 

     startActivityForResult(shareIntent, 0); 

离开关setPackage(“融为一体。 google.android.apps.plus“)提供了一个通用的Android共享对话框,允许您通过电子邮件,蓝牙和短信进行分享,除了Google plus。添加setPackage行允许您绕过该对话框并通过Google plus专门分享。