android - Android 中的 Google Plus 封面照片

标签 android google-plus

我正在尝试使用以下代码获取 Google 加封面照片:

if (Plus.PeopleApi.getCurrentPerson(mGoogleApiClient) != null) 
{
  Person currentPerson = Plus.PeopleApi.getCurrentPerson(mGoogleApiClient);
  String personName = currentPerson.getDisplayName();
  String userId = currentPerson.getId();
  personPhotoUrl = currentPerson.getImage().getUrl();
  String personGooglePlusProfile = currentPerson.getUrl();

  boolean coverphoto = currentPerson.getCover().hasCoverPhoto();

  String urlBackgroud = currentPerson.getCover().getCoverPhoto().getUrl();

  String email = Plus.AccountApi.getAccountName(mGoogleApiClient);
   Log.e("url","Background"+photo);
   Log.e(TAG, "Name: " + personName + ", plusProfile: "
                    + personGooglePlusProfile + ", email: " + email
                    + ", Image: " + personPhotoUrl + ", userId: " + userId );

当我设置封面照片时。我得到了带有 URL 的结果,但我没有设置封面照片,然后我得到了以下错误

  07-28 18:18:39.952: W/System.err(9566): java.lang.NullPointerException
  07-28 18:18:39.952: W/System.err(9566):   at com.ylg.maps.MainActivity.getProfileInformation(MainActivity.java:224)
  07-28 18:18:39.952: W/System.err(9566):   at com.ylg.maps.MainActivity.onConnected(MainActivity.java:178)
  07-28 18:18:39.952: W/System.err(9566):   at com.google.android.gms.internal.hd.c(Unknown Source)
  07-28 18:18:39.952: W/System.err(9566):   at com.google.android.gms.common.api.c.eF(Unknown Source)
  07-28 18:18:39.952: W/System.err(9566):   at com.google.android.gms.common.api.c.d(Unknown Source)
  07-28 18:18:39.952: W/System.err(9566):   at com.google.android.gms.common.api.c$2.onConnected(Unknown Source)
  07-28 18:18:39.952: W/System.err(9566):   at com.google.android.gms.internal.hd.c(Unknown Source)
  07-28 18:18:39.952: W/System.err(9566):   at com.google.android.gms.internal.hd.ck(Unknown Source)
  07-28 18:18:39.952: W/System.err(9566):   at com.google.android.gms.internal.hc$h.b(Unknown Source)
  07-28 18:18:39.952: W/System.err(9566):   at com.google.android.gms.internal.hc$h.d(Unknown Source)
  07-28 18:18:39.959: W/System.err(9566):   at com.google.android.gms.internal.hc$b.fq(Unknown Source)
  07-28 18:18:39.959: W/System.err(9566):   at com.google.android.gms.internal.hc$a.handleMessage(Unknown Source)
  07-28 18:18:39.959: W/System.err(9566):   at android.os.Handler.dispatchMessage(Handler.java:99)
  07-28 18:18:39.959: W/System.err(9566):   at android.os.Looper.loop(Looper.java:137)
  07-28 18:18:39.959: W/System.err(9566):   at android.app.ActivityThread.main(ActivityThread.java:5103)
  07-28 18:18:39.959: W/System.err(9566):   at java.lang.reflect.Method.invokeNative(Native Method)
  07-28 18:18:39.959: W/System.err(9566):   at java.lang.reflect.Method.invoke(Method.java:525)
  07-28 18:18:39.959: W/System.err(9566):   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
  07-28 18:18:39.959: W/System.err(9566):   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
  07-28 18:18:39.959: W/System.err(9566):   at dalvik.system.NativeStart.main(Native Method)

然后我尝试了:

boolean coverphoto = currentPerson.getCover().hasCoverPhoto();

我仍然收到上述错误。如何解决用户没有设置封面照片的问题?

谢谢!

最佳答案

当您的 google 客户端已连接时,您需要再打一个电话 如下:

if (mGoogleApiClient.isConnected()) {
Plus.PeopleApi.load(mGoogleApiClient, person.getId())
                            .setResultCallback(new ResultCallback<People.LoadPeopleResult>() {
                        @Override
                        public void onResult(People.LoadPeopleResult loadPeopleResult) {
                            if (loadPeopleResult.getStatus().isSuccess()) {
                                PersonBuffer personBuffer = loadPeopleResult.getPersonBuffer();
                                if (personBuffer != null && personBuffer.getCount() > 0) {
                                    Person currentUser = personBuffer.get(0);
                                    personBuffer.release();
                                    Person.Cover cover = currentUser.getCover();
                                    if (cover != null) {
                                        Person.Cover.CoverPhoto coverPhoto = cover.getCoverPhoto();
                                        if (coverPhoto != null) {
                                            String userCoverPhotoUrl = coverPhoto.getUrl();
                                            Log.i("Main TAG", "Cover photo Url :" + userCoverPhotoUrl);

                                        }
                                    } else {
                                        Log.i("TAG NO COVER", "Person has no cover");
                                    }
                                }
                            }
                        }
                    });

}

关于android - Android 中的 Google Plus 封面照片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24995808/

相关文章:

javascript - 动态附加google plus按钮的回调参数

php - 进行 Google plus API 调用时收到 HTTP 401 Unauthorized

google-plus - 如何在 Google Hangouts 直播中启用问答应用

使用 Google Plus : How do I GoogleApiClient. 再次连接的 Android 设计?

c# - 如何使用 Google+ API 将人员添加到 Google+ 中的圈子?

android - 类 java.awt.Font 错误 - Android

java - android按值传递?

android - 如何在 Android 中以编程方式打开/更改 Google Ads 选择退出设置?

android - 在 Android 中禁用 "Force Stop"按钮

android - Robospice - 我们应该以什么顺序使用 execute()、addListenerIfPending()、getFromCache()