Проблема с входом в Gmail в моем приложении для Android

#java #android #android-intent

#java #Android #android-намерение

Вопрос:

Это позволяет мне входить в систему через Gmail и отображать изображение на дисплее, мое имя и т.д., Но оно не работает с идентификатором других случайных людей.

Я добавил больше владельцев на developer.google.com и это также позволяет им, но не мне.

 public class MainActivity extends AppCompatActivity implements View.OnClickListener, GoogleApiClient.OnConnectionFailedListener{

    private LinearLayout Prof_Section;
    private Button SignOut;
    private SignInButton  SignIn;
    private TextView Name,Email;
    private ImageView Prof_Pic;
    private GoogleApiClient googleApiClient;
    private static final int REQ_CODE=9001;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Prof_Section = (LinearLayout)findViewById(R.id.Prof_Section);
        SignOut = (Button)findViewById(R.id.bn_logout);
        SignIn = (SignInButton)findViewById(R.id.bn_login);
        Name=(TextView)findViewById(R.id.name);
        Email=(TextView)findViewById(R.id.email);
        Prof_Pic=(ImageView) findViewById(R.id.prof_pic);
        SignIn.setOnClickListener(this);
        SignOut.setOnClickListener(this);
        Prof_Section.setVisibility(View.GONE);
        GoogleSignInOptions signInOptions = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN).requestEmail().build();
        googleApiClient = new GoogleApiClient.Builder(this).enableAutoManage(this,this).addApi(Auth.GOOGLE_SIGN_IN_API,signInOptions).build();
    }
    @Override
    public void onClick(View v) {
        switch(v.getId())
        {
            case R.id.bn_login:
                signIn();
                break;
            case R.id.bn_logout:
                signOut();
                break;
        }
    }

    @Override
    public void onConnectionFailed(@NonNull ConnectionResult connectionResult) {

    }
    private void signIn()
    {
        Intent intent = Auth.GoogleSignInApi.getSignInIntent(googleApiClient);
        startActivityForResult(intent,REQ_CODE);
    }
    private void signOut()
    {
        Auth.GoogleSignInApi.signOut(googleApiClient).setResultCallback(new ResultCallback<Status>() {
            @Override
            public void onResult(@NonNull Status status) {
                updateUI(false);
            }
        });

    }
    private void handleResult(GoogleSignInResult result)
    {if(result.isSuccess())
    {
        GoogleSignInAccount account = result.getSignInAccount();
        String name = account.getDisplayName();
        String email = account.getEmail();
        String img_url = account.getPhotoUrl().toString();
        Name.setText(name);
        Email.setText(email);
       // Glide.with(this).load(img_url).into(Prof_Pic);
      //  Glide.with(this)
             //   .load(img_url)
           // //    .override(300, 200)
             //   .into(Prof_Pic);
      //  Glide.with(this).load(img_url).into(Prof_pic);
        updateUI(true);

    }
    else
    {updateUI(false);}

    }
    private void updateUI(boolean isLogin){
        if(isLogin){
            Prof_Section.setVisibility(View.VISIBLE);
            SignIn.setVisibility((View.GONE));
        }
        else
        {
            Prof_Section.setVisibility(View.GONE);
            SignIn.setVisibility(View.VISIBLE);
        }
    }
    @Override
    protected void onActivityResult(int requestCode, int resultCode,Intent data)
    {
        super.onActivityResult(requestCode,resultCode,data);
        if(requestCode==REQ_CODE)
        {
            GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
            handleResult(result);
        }

    }
}
  

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <LinearLayout
        android:id="@ id/Prof_Section"
        android:layout_width="match_parent"
        android:layout_height="176dp"
        android:layout_marginLeft="20dp"
        android:layout_marginTop="50dp"
        android:orientation="horizontal">

        <ImageView
            android:id="@ id/prof_pic"
            android:layout_width="113dp"
            android:layout_height="match_parent"
            android:src="@drawable/myalpha"/>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="20dp"
            android:layout_marginTop="20dp"
            android:orientation="vertical">

            <TextView
                android:id="@ id/name"
                android:layout_width="match_parent"
                android:layout_height="37dp"
                android:layout_marginTop="20dp"
                android:gravity="center"
                android:text="Name display here"
                android:textSize="18dp"
                android:textStyle="bold" />

            <TextView
                android:id="@ id/email"
                android:layout_width="match_parent"
                android:layout_height="35dp"
                android:layout_marginTop="10dp"
                android:gravity="center"
                android:text="Email display here"
                android:textSize="12dp"
                android:textStyle="bold" />

            <Button
                android:id="@ id/bn_logout"
                android:layout_width="match_parent"
                android:layout_height="61dp"
                android:text="Logout Google Account" />

        </LinearLayout>


    </LinearLayout>

    <com.google.android.gms.common.SignInButton
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="60dp"
        android:layout_marginRight="50dp"
        android:layout_marginLeft="50dp"
        android:id="@ id/bn_login"
        >

    </com.google.android.gms.common.SignInButton>

</LinearLayout>
  

Он регистрирует меня и показывает мне мои данные, но не данные других людей.
Я хочу, чтобы, если они попытаются войти в систему, они также получали там подробную информацию

Ответ №1:

SignInButton Signin = findViewById(R.id .);

findViewById (R.id.bn_login).setOnClickListener (это);

findViewById(R.id.bn_login).setVisibility (Просмотр.GONE);