2017-05-24 40 views
2

我已经在YouTube上观看了关于如何将Firebase集成到android应用程序的教程。注册Firebase,添加我的脸书和应用程序信息,并添加必要的更改到我的应用程序,但不知何故我的主界面应显示登录屏幕不显示。没有构建错误。Firebase android facebook facebook,google,电子邮件登录界面不会弹出

这是我的代码;

我的我的应用程序内的build.gradle:

apply plugin: 'com.android.application' 
android { 
    compileSdkVersion 25 
    buildToolsVersion "25.0.3" 
    defaultConfig { 
     applicationId "com.bogroup.ucuncuprogram" 
     minSdkVersion 16 
     targetSdkVersion 25 
     versionCode 1 
     versionName "1.0" 
     testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { 
     exclude group: 'com.android.support', module: 'support-annotations' 
    }) 
    compile 'com.android.support:appcompat-v7:25.0.0' 
    compile 'com.android.support.constraint:constraint-layout:1.0.2' 
    compile 'com.google.firebase:firebase-core:9.4.0' 
    compile 'com.google.firebase:firebase-auth:9.4.0' 
    compile 'com.google.firebase:firebase-database:9.4.0' 
    //compile 'com.google.firebase:firebase-storage:9.4.0' 
    compile 'com.firebaseui:firebase-ui:0.4.4' 
    compile 'com.google.android.gms:play-services-auth:9.4.0' 
    compile 'com.android.support:animated-vector-drawable:25.0.0' 
    compile 'com.android.support:design:25.0.0' 
    compile 'com.android.support:support-v4:25.0.0' 
    compile 'com.android.support:cardview-v7:25.0.0' 
    compile 'com.android.support:customtabs:25.0.0' 
    compile 'com.android.support:recyclerview-v7:25.0.0' 
    //compile 'com.android.support:customtabs:25.2.0' 
    testCompile 'junit:junit:4.12' 
} 
apply plugin: 'com.google.gms.google-services' 

我主要的Java代码:

package com.bogroup.ucuncuprogram; 

import android.content.Intent; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.View; 
import android.widget.EditText; 
import com.firebase.ui.auth.AuthUI; 
import com.google.firebase.auth.FirebaseAuth; 

public class MainActivity extends AppCompatActivity { 
    private static final int RC_SIGN_IN = 0; 

    EditText et; 
    private FirebaseAuth auth; 



    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     auth = FirebaseAuth.getInstance(); 
     if(auth.getCurrentUser() != null){ 
      //USER ALREADY SIGNED IN 
      Log.d("AUTH", auth.getCurrentUser().getEmail()); 
     }else{ 
      startActivityForResult(AuthUI.getInstance() 
        .createSignInIntentBuilder() 
        .setProviders(AuthUI.FACEBOOK_PROVIDER, 
          AuthUI.EMAIL_PROVIDER, 
          AuthUI.GOOGLE_PROVIDER) 
        .build(),RC_SIGN_IN); 
     } 
    } 
    @Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     super.onActivityResult(requestCode, resultCode, data); 
     if(requestCode==RC_SIGN_IN){ 
      if(resultCode==RESULT_OK){ 
       //user logged in 
       Log.d("AUTH", auth.getCurrentUser().getEmail()); 
      }else{ 
       // user not authenticated 
       Log.d("AUTH", "NOT AUTHENTİCATED"); 
      } 
     } 
    } 
    public void tikla(View v){ 
     if (v.getId()==R.id.button){ 
      Intent intent = new Intent(getApplicationContext(),ikinciekren.class); 
      CharSequence charlarim = et.getText(); 
      intent.putExtra("anahtar",charlarim); 
      startActivity(intent); 
      // 
     } 
     /* 
     else if (v.getId()==R.id.button){ 
      // 
     } 
     */ 
    } 

} 

我主要的build.gradle文件(不低于APP)

// Top-level build file where you can add configuration options common to all sub-projects/modules. 

buildscript { 
    repositories { 
     jcenter() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:2.3.2' 
     classpath 'com.google.gms:google-services:3.1.0' 

     // NOTE: Do not place your application dependencies here; they belong 
     // in the individual module build.gradle files 
    } 
} 

allprojects { 
    repositories { 
     jcenter() 
    } 
} 

task clean(type: Delete) { 
    delete rootProject.buildDir 
} 

我android.manifest.xml文件:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.bogroup.ucuncuprogram"> 
    <uses-permission android:name="android.permission.INTERNET"/> 

    <application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:roundIcon="@mipmap/ic_launcher_round" 
     android:supportsRtl="true" 
     android:theme="@style/AppTheme"> 

     <activity android:name=".MainActivity"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity android:name=".ikinciekren"> 
      <intent-filter> 
       <action android:name="android.intent.action.IKINCIEKREN" /> 

       <category android:name="android.intent.category.DEFAULT" /> 
      </intent-filter> 
     </activity> 
    </application> 

</manifest> 

还增加下应用和Facebook ID谷歌-services.json文件下在string.xml文件

任何帮助理解。提前致谢。

回答

1

尝试改变startActivityForResult()到:

startActivityForResult(
      AuthUI.getInstance() 
        .createSignInIntentBuilder() 
        .setProviders(Arrays.asList(
          new AuthUI.IdpConfig.Builder(AuthUI.FACEBOOK_PROVIDER).build(), 
          new AuthUI.IdpConfig.Builder(AuthUI.EMAIL_PROVIDER).build(), 
          new AuthUI.IdpConfig.Builder(AuthUI.GOOGLE_PROVIDER).build() 
        )) 
        .build(), 
      RC_SIGN_IN); 

要了解更多有关认证的火力地堡UI库看看: https://github.com/firebase/FirebaseUI-Android/tree/master/auth

+0

我听说你提到我的代码已经过时,但是当我试图改变那部分它说“无法解析符号'IdpConfig'”我应该怎么做才能解决这个问题? – Faruk

+1

谢谢,添加配置设置后给你的链接工作。 – Faruk

相关问题