Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当我尝试从GoogleAppClient注销时,在空对象引用上收到错误消息GoogleAppClient.isConnected()_Java_Android_Google Api_Google Plus_Google Api Client - Fatal编程技术网

Java 当我尝试从GoogleAppClient注销时,在空对象引用上收到错误消息GoogleAppClient.isConnected()

Java 当我尝试从GoogleAppClient注销时,在空对象引用上收到错误消息GoogleAppClient.isConnected(),java,android,google-api,google-plus,google-api-client,Java,Android,Google Api,Google Plus,Google Api Client,当我尝试从GoogleAppClient注销时,收到以下错误消息 GoogleApiClient.isConnected() on a null object reference 这是我的密码: public static GoogleSignInOptions gso; public static GoogleApiClient mGoogleApiClient; //......... google.setOnClickListener(new View.OnClickListener

当我尝试从
GoogleAppClient
注销时,收到以下错误消息

GoogleApiClient.isConnected() on a null object reference
这是我的密码:

public static GoogleSignInOptions gso;
public static GoogleApiClient mGoogleApiClient;

//.........

google.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
             gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN).requestEmail().build();
            mGoogleApiClient = new GoogleApiClient.Builder(getContext()).enableAutoManage(getActivity(), new GoogleApiClient.OnConnectionFailedListener() {
                @Override
                public void onConnectionFailed(@NonNull ConnectionResult connectionResult) {
                    Toast.makeText(getContext(), "Login failed", Toast.LENGTH_LONG).show();
                }
            }).addApi(Auth.GOOGLE_SIGN_IN_API, gso).build();
            Intent intent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient);
            startActivityForResult(intent, requestCode);
            mGoogleApiClient.connect();


            Toast.makeText(getContext(),"User Name "+ acc.getDisplayName()+ "Mail  "+acc.getEmail(), Toast.LENGTH_LONG).show();
        }
    });
还有我的注销代码

  public void signout(){
    Auth.GoogleSignInApi.signOut(mGoogleApiClient).setResultCallback(new ResultCallback<Status>() {
        @Override
        public void onResult(@NonNull Status status) {
            Intent intent1 = new Intent(getContext(),LoginActivity.class);
            startActivity(intent1);
            getActivity().finish();
        }
    });
试试这个

定义:

public GoogleSignInOptions gso;
public GoogleApiClient mGoogleApiClient;
在Oncreate方法中初始化:

gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
    .requestEmail()
    .build();

mGoogleApiClient = new GoogleApiClient.Builder(this)
    .enableAutoManage(this /* FragmentActivity */, this /* OnConnectionFailedListener */)
    .addApi(Auth.GOOGLE_SIGN_IN_API, gso)
    .build();
  mGoogleApiClient.connect();
现在设置单击登录按钮上的侦听器

google.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {

        Intent intent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient);
        startActivityForResult(intent, requestCode);

        Toast.makeText(getContext(),"User Name "+ acc.getDisplayName()+ "Mail  "+acc.getEmail(), Toast.LENGTH_LONG).show();
    }
});
/////

//注销

private void signOut() {
Auth.GoogleSignInApi.signOut(mGoogleApiClient).setResultCallback(
        new ResultCallback<Status>() {
            @Override
            public void onResult(Status status) {
             Intent intent1 = new Intent(getContext(),LoginActivity.class);
             startActivity(intent1);
             getActivity().finish();
            }
        });
}
private void signOut(){
Auth.GoogleSignInApi.signOut(mgoogleapclient.setResultCallback)(
新的ResultCallback(){
@凌驾
公共void onResult(状态){
Intent intent1=新的Intent(getContext(),LoginActivity.class);
星触觉(intent1);
getActivity().finish();
}
});
}
希望这对你有帮助。

试试这个

定义:

public GoogleSignInOptions gso;
public GoogleApiClient mGoogleApiClient;
在Oncreate方法中初始化:

gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
    .requestEmail()
    .build();

mGoogleApiClient = new GoogleApiClient.Builder(this)
    .enableAutoManage(this /* FragmentActivity */, this /* OnConnectionFailedListener */)
    .addApi(Auth.GOOGLE_SIGN_IN_API, gso)
    .build();
  mGoogleApiClient.connect();
现在设置单击登录按钮上的侦听器

google.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {

        Intent intent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient);
        startActivityForResult(intent, requestCode);

        Toast.makeText(getContext(),"User Name "+ acc.getDisplayName()+ "Mail  "+acc.getEmail(), Toast.LENGTH_LONG).show();
    }
});
/////

//注销

private void signOut() {
Auth.GoogleSignInApi.signOut(mGoogleApiClient).setResultCallback(
        new ResultCallback<Status>() {
            @Override
            public void onResult(Status status) {
             Intent intent1 = new Intent(getContext(),LoginActivity.class);
             startActivity(intent1);
             getActivity().finish();
            }
        });
}
private void signOut(){
Auth.GoogleSignInApi.signOut(mgoogleapclient.setResultCallback)(
新的ResultCallback(){
@凌驾
公共void onResult(状态){
Intent intent1=新的Intent(getContext(),LoginActivity.class);
星触觉(intent1);
getActivity().finish();
}
});
}

希望这将对您有所帮助。

发布代码mGoogleApiClient定义和初始化发布代码mGoogleApiClient定义和初始化