#android #firebase
# #Android #firebase
Вопрос:
Получение ошибки
Ошибка Firebase: без BiChannelGoogleApi: [FirebaseAuth: ] getGoogleApiForMethod() вернул Gms
При запуске приложения в Android через USB и подписании с использованием идентификатора gmail в Android в коде появляется ошибка, указанная выше. Ниже приведен файл сборки приложения и код. Пожалуйста, кто-нибудь, помогите. Проект очистки и повторной сборки работает нормально.
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
defaultConfig {
applicationId "com.example.abhishek.dustbin"
minSdkVersion 19
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:26 '
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
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'
implementation 'com.google.firebase:firebase-database:11.6.0'
implementation 'com.google.firebase:firebase-auth:11.6.0'
implementation 'com.google.firebase:firebase-core:11.6.0'
compile 'com.github.lecho:hellocharts-library:1.5.8@arr'
compile 'com.macroyau:thingspeakandroid:0.2.2'
compile 'com.android.volley:volley:1.0.0'
}
apply plugin: 'com.google.gms.google-services'
Код:
package com.example.abhishek.dustbin;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.support.annotation.NonNull;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.FirebaseUser;
public class SignInSS extends AppCompatActivity {
private static final String TAG = "MainActivity";
private FirebaseAuth mAuth;
private FirebaseAuth.AuthStateListener mAuthListener;
private EditText mEmail, mPassword;
private Button btnSignIn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sign_in_ss);
mEmail = (EditText) findViewById(R.id.email);
mPassword = (EditText) findViewById(R.id.password);
btnSignIn = (Button) findViewById(R.id.btnLogin);
mAuth = FirebaseAuth.getInstance();
mAuthListener = new FirebaseAuth.AuthStateListener() {
@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
FirebaseUser user = firebaseAuth.getCurrentUser();
Intent graphIntent;
if (user != null) {
// User is signed in
Log.d(TAG, "onAuthStateChanged:signed_in:" user.getUid());
toastMessage("Successfully signed in with: " user.getEmail());
if (mEmail.getText().toString().equals("society1@gmail.com")) {
graphIntent = new Intent(getApplicationContext(), GraphDustbin.class);
} else {
graphIntent = new Intent(getApplicationContext(), GraphDustbin_2.class);
}
//graphIntent.putExtra("User",mEmail.getText().toString());
startActivity(graphIntent);
} else {
// User is signed out
Log.d(TAG, "onAuthStateChanged:signed_out");
}
// ...
}
};
btnSignIn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String email = mEmail.getText().toString();
String pass = mPassword.getText().toString();
if(!email.equals("") amp;amp; !pass.equals("")){
mAuth.signInWithEmailAndPassword(email,pass);
}else{
toastMessage("You didn't fill in all the fields.");
}
}
});
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction("com.package.ACTION_LOGOUT");
registerReceiver(new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Log.d("onReceive","Logout in progress");
//At this point you should start the login activity and finish this one
finish();
}
}, intentFilter);
}
@Override
public void onStart() {
super.onStart();
mAuth.addAuthStateListener(mAuthListener);
}
@Override
public void onStop() {
super.onStop();
if (mAuthListener != null) {
mAuth.removeAuthStateListener(mAuthListener);
}
}
private void toastMessage(String message){
Toast.makeText(getApplicationContext(),message,Toast.LENGTH_SHORT).show();
}
}
Комментарии:
1. Это предупреждающее сообщение, а не ошибка. Если что-то работает не так, как вы ожидаете, пожалуйста, отредактируйте вопрос, чтобы показать код и объяснить проблему.
2. @DougStevenson : это ошибка при запуске приложения. Обновлен вопрос
3. Здесь по-прежнему нет кода приложения, который мог бы вызвать зарегистрированное сообщение во время выполнения. Все, что вы показываете, это информация о сборке. Если какой-то код работает не так, как вы ожидаете, это нужно проиллюстрировать здесь — предупреждающего сообщения недостаточно для работы.
4. @DougStevenson: поделился кодом .. пожалуйста, помогите
5. Как насчет того, что код работает не так, как вы ожидаете? Пожалуйста, отредактируйте вопрос, чтобы объяснить, что вы сделали для отладки этого.