繁体   English   中英

Android中的Google Plus封面照片

[英]Google Plus Cover Photo in android

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

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");
                                    }
                                }
                            }
                        }
                    });

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM