Прежде всего спасибо заранее за любую помощь. При попытке использовать Google Sign-In в моем приложении всплывающее окно для выбора учетной записи не отображается. Активность сразу же возвращается с ошибкой 12501. Она на мгновение затемняет экран и все.
Я скачал примеры отсюда https://github.com/googlesamples/google-services.git, и они работают нормально. Я могу войти и выйти без проблем, и всплывающее окно отображается правильно. Таким образом, я уверен, что мой ключ SHA1 правильный (сейчас я использую ключ отладки), и, видя, как работают примеры, я предполагаю, что мой клиент OAuth правильно настроен.
Таким образом, для подведения итогов образцы работают так, как задумано, но я не могу отобразить всплывающее окно с учетной записью для входа, когда я начинаю с пустой деятельности.
public class MainActivity extends AppCompatActivity implements
View.OnClickListener{
GoogleSignInClient m_googleSignInClient;
String m_strEmail;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
GoogleSignInOptions googleSignInOptions = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_GAMES_SIGN_IN).requestEmail().build();
m_googleSignInClient = GoogleSignIn.getClient(this, googleSignInOptions);
findViewById(R.id.sign_in_button).setOnClickListener(this);
}
@Override
public void onClick(View v)
{
Intent intentSignIn = m_googleSignInClient.getSignInIntent();
startActivityForResult(intentSignIn, 9001);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data)
{
if(requestCode == 9001)
{
Task<GoogleSignInAccount> task = GoogleSignIn.getSignedInAccountFromIntent(data);
try
{
GoogleSignInAccount account = task.getResult(ApiException.class);
String m_strEmail = account.getEmail();
Log.d("Data", "User Email: " + m_strEmail);
}
catch(ApiException e)
{
Log.w("API Exception", "signInResult:failed code=" + e.getStatusCode());
}
}
}
}
и затем файл модуля моего модуля
android {
compileSdkVersion 27
defaultConfig {
applicationId "net.test.chess"
minSdkVersion 14
targetSdkVersion 27
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
configurations.all {
resolutionStrategy.force 'com.android.support:support-annotations:27.1.0' }
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:27.1.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
implementation 'com.google.android.gms:play-services-auth:16.0.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}
Единственное, что я получаю в Logcat, это:
handleWindowVisibility: no activity for token android.os.BinderProxy@ff6b471
signInResult:failed code=12501