Android Google plus集成

Android Google plus集成,android,google-plus,Android,Google Plus,我已经开发了android应用程序,它具有登录功能。对于登录过程,我已将google plus集成到登录中 我通过以下链接获得了登录权限 但现在我想得到我的谷歌加好友名单谁使用这个应用程序,我已经尝试了这个 我在facebook api中做到了这一点,这是在google plus中实现这一点的方法吗?谢谢你的回复,你能给我发送字符串vaues给我编译错误吗 import android.app.Activity; import android.app.AlertDialog; import an

我已经开发了android应用程序,它具有登录功能。对于登录过程,我已将google plus集成到登录中

我通过以下链接获得了登录权限

但现在我想得到我的谷歌加好友名单谁使用这个应用程序,我已经尝试了这个


我在facebook api中做到了这一点,这是在google plus中实现这一点的方法吗?

谢谢你的回复,你能给我发送字符串vaues给我编译错误吗
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.content.DialogInterface.OnCancelListener;
import android.content.Intent;
import android.content.IntentSender;
import android.graphics.drawable.ColorDrawable;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

import com.google.android.gms.common.ConnectionResult;
import com.google.android.gms.common.GooglePlayServicesUtil;
import com.google.android.gms.plus.PlusClient;
import com.google.android.gms.plus.PlusShare;


public class SignInActivity extends Activity implements
        PlusClient.ConnectionCallbacks, PlusClient.OnConnectionFailedListener,
        PlusClient.OnAccessRevokedListener {

    private static final int DIALOG_GET_GOOGLE_PLAY_SERVICES = 1;

    private static final int REQUEST_CODE_SIGN_IN = 1;

    // private TextView mSignInStatus;
    private PlusClient mPlusClient;
    private Dialog GoolgePlus;
    private ConnectionResult mConnectionResult;
    private boolean mSharing;
    String UserName;

    // Share
    private static final String STATE_SHARING = "state_sharing";
    private static final int REQUEST_CODE_INTERACTIVE_POST = 2;
    private static final int REQUEST_CODE_GET_GOOGLE_PLAY_SERVICES = 3;
    private static final String LABEL_VIEW_ITEM = "VIEW_ITEM";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.fbsample);

        mPlusClient = new PlusClient.Builder(this, this, this)
                .setVisibleActivities("http://schemas.google.com/AddActivity",
                        "http://schemas.google.com/BuyActivity").build();
        mSharing = savedInstanceState != null
                && savedInstanceState.getBoolean(STATE_SHARING, false);
        GooglePlus();
    }

    @Override
    protected void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
        outState.putBoolean(STATE_SHARING, mSharing);
    }

    @Override
    public void onStart() {
        super.onStart();
        mPlusClient.connect();
    }

    @Override
    public void onStop() {
        mPlusClient.disconnect();
        super.onStop();
    }

    @Override
    protected Dialog onCreateDialog(int id) {
        if (id != DIALOG_GET_GOOGLE_PLAY_SERVICES) {
            return super.onCreateDialog(id);
        }

        int available = GooglePlayServicesUtil
                .isGooglePlayServicesAvailable(this);
        if (available == ConnectionResult.SUCCESS) {
            return null;
        }
        if (GooglePlayServicesUtil.isUserRecoverableError(available)) {
            return GooglePlayServicesUtil.getErrorDialog(available, this,
                    REQUEST_CODE_GET_GOOGLE_PLAY_SERVICES);
        }
        return new AlertDialog.Builder(this).setMessage("Error")
                .setCancelable(true).create();
    }

    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode == REQUEST_CODE_SIGN_IN
                || requestCode == REQUEST_CODE_GET_GOOGLE_PLAY_SERVICES) {
            if (resultCode == RESULT_OK && !mPlusClient.isConnected()
                    && !mPlusClient.isConnecting()) {
                mPlusClient.connect();
            }
        }
        switch (requestCode) {
        case REQUEST_CODE_SIGN_IN:
        case REQUEST_CODE_GET_GOOGLE_PLAY_SERVICES:
            handleResult(resultCode);
            break;

        case REQUEST_CODE_INTERACTIVE_POST:
            mSharing = false;
            if (resultCode != RESULT_OK) {
                Log.e("Sharing", "Failed to create interactive post");
            }
            break;
        }
    }

    @Override
    public void onAccessRevoked(ConnectionResult status) {
        if (status.isSuccess()) {
        } else {
            mPlusClient.disconnect();
        }
        mPlusClient.connect();
    }

    @Override
    public void onConnected(Bundle connectionHint) {
        String currentPersonName = mPlusClient.getCurrentPerson() != null ? mPlusClient
                .getCurrentPerson().getDisplayName()
                : getString(R.string.unknown_person);
        UserName = getString(R.string.signed_in_status, currentPersonName);
        updateButtons(true);

        if (!mSharing) {
            // The share button hasn't been clicked yet.
            return;
        }

        mSharing = false;
        startActivityForResult(getInteractivePostIntent(),
                REQUEST_CODE_INTERACTIVE_POST);
    }

    @Override
    public void onDisconnected() {
        mPlusClient.connect();
        updateButtons(false /* isSignedIn */);
    }

    @Override
    public void onConnectionFailed(ConnectionResult result) {
        mConnectionResult = result;
        updateButtons(false /* isSignedIn */);
    }

    private void updateButtons(boolean isSignedIn) {
        if (isSignedIn) {

            GoolgePlus.show();
            // mSignInButton.setVisibility(View.INVISIBLE);
            // GooglePlus();
            // mSignOutButton.setEnabled(true);
        } else {
            if (mConnectionResult == null) {
                // mSignInButton.setVisibility(View.INVISIBLE);
                // GoolgePlus.show();
                // mSignInStatus.setText(getString(R.string.loading_status));
            } else {
                // mSignInButton.setVisibility(View.VISIBLE);
                int available = GooglePlayServicesUtil
                        .isGooglePlayServicesAvailable(this);
                if (available != ConnectionResult.SUCCESS) {
                    showDialog(DIALOG_GET_GOOGLE_PLAY_SERVICES);
                    return;
                }

                try {

                    mConnectionResult.startResolutionForResult(this,
                            REQUEST_CODE_SIGN_IN);
                } catch (IntentSender.SendIntentException e) {
                    // Fetch a new result to start.
                    mPlusClient.connect();
                }

            }
        }
    }

    public void GooglePlus() {
        GoolgePlus = new Dialog(SignInActivity.this);
        GoolgePlus.setContentView(R.layout.dialogeerror);
        GoolgePlus.getWindow().setBackgroundDrawable(
                new ColorDrawable(android.graphics.Color.TRANSPARENT));
        GoolgePlus.getWindow().getAttributes().windowAnimations = R.style.saveanim;
        Button signout = (Button) GoolgePlus.findViewById(R.id.ok);
        Button share = (Button) GoolgePlus.findViewById(R.id.cancle);
        TextView textViewtitle = (TextView) GoolgePlus
                .findViewById(R.id.textViewtitle);
        textViewtitle.setText("NotionNote");
        TextView text = (TextView) GoolgePlus.findViewById(R.id.txt_texts);
        signout.setText("Sign Out");
        share.setText("Share");
        text.setText("Are you sure want to share this post ?");
        share.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                GoolgePlus.dismiss();
                finish();
                if (!mPlusClient.isConnected()) {
                    mSharing = true;
                    if (!mPlusClient.isConnecting()) {
                        mPlusClient.connect();
                    }
                } else {
                    startActivityForResult(getInteractivePostIntent(),
                            REQUEST_CODE_INTERACTIVE_POST);
                }
            }
        });
        GoolgePlus.setOnCancelListener(new OnCancelListener() {

            @Override
            public void onCancel(DialogInterface dialog) {
                // TODO Auto-generated method stub
                GoolgePlus.dismiss();

                Handler h = new Handler();
                h.postDelayed(new Runnable() {

                    @Override
                    public void run() {
                        // TODO Auto-generated method stub
                        finish();
                    }
                }, 500);

            }
        });
        signout.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                GoolgePlus.dismiss();
                if (mPlusClient.isConnected()) {
                    mPlusClient.revokeAccessAndDisconnect(SignInActivity.this);
                    finish();
                }

            }
        });
        GoolgePlus.getWindow().setBackgroundDrawable(
                new ColorDrawable(android.graphics.Color.TRANSPARENT));
    }

    private void handleResult(int resultCode) {
        if (resultCode == RESULT_OK) {
            if (!mPlusClient.isConnecting() && !mPlusClient.isConnected()) {
                mPlusClient.connect();
            }
        } else {
            Log.e("Sharing", "Unable to sign the user in.");
            finish();
        }
    }

    private Intent getInteractivePostIntent() {

        String action = "/?view=true";
        Uri callToActionUrl = Uri
                .parse(getString(R.string.plus_example_deep_link_url) + action);
        String callToActionDeepLinkId = getString(R.string.plus_example_deep_link_id)
                + action;

        PlusShare.Builder builder = new PlusShare.Builder(this, mPlusClient);

        builder.addCallToAction(LABEL_VIEW_ITEM, callToActionUrl,
                callToActionDeepLinkId);

        builder.setContentUrl(Uri.parse(AddNote.PPTPath));

        builder.setContentDeepLinkId(
                getString(R.string.plus_example_deep_link_id), null, null, null);
        builder.setText(" Android Application").setType("image/jpeg");

        return builder.getIntent();
    }

}



 Intent intent = new Intent(getApplicationContext(),
                        SignInActivity.class);
                startActivity(intent);