标签: firebaseui

如何在特定条件下隐藏Recycler View中的项目?

我正在使用Firebase Recycler Adapter(Firebase UI库)来填充Recycler View.我想在条件上隐藏项目(行).我有一个包含回收者视图的LinearLayout.

我在populateViewHolder()循环器视图适配器的方法中将线性布局可见性设置为Gone .

@Override
protected void populateViewHolder(UsersViewHolder viewHolder, User user, int position) {

    if (user.getUserEmail().equals(Utils.decodeEmail(userEmail))) {
        viewHolder.llMain.setVisibility(View.GONE);
        return;
    }

    viewHolder.tvUserEmail.setText(user.getUserEmail());
}
Run Code Online (Sandbox Code Playgroud)

它隐藏了LinearLayout,但行仍留有空白.

是否有任何方法我应该覆盖以克服这个或有什么方法来实现结果?

android firebase android-recyclerview firebase-realtime-database firebaseui

38
推荐指数
6
解决办法
4万
查看次数

错误:无法解决:com.twitter.sdk.android:twitter:2.3.0 - Android Studio

我在我的日志猫中收到此错误

Error:Failed to resolve: com.twitter.sdk.android:twitter:2.3.0
Run Code Online (Sandbox Code Playgroud)

当我尝试添加此依赖项时:

compile 'com.firebaseui:firebase-ui:1.1.1'
Run Code Online (Sandbox Code Playgroud)

有人可以帮助我,我不知道我做错了什么.这是我从中获取依赖关系的链接:https://github.com/firebase/FirebaseUI-Android.在旁注中,我没有在我的应用程序中使用Twitter登录或与Twitter进行任何类型的交互,因此我不确定为什么在放置该依赖项后同步我的gradle时出现该错误.

twitter dependencies android firebase firebaseui

29
推荐指数
3
解决办法
1万
查看次数

"此应用未授权在模拟器中使用Firebase身份验证"

当我尝试在模拟器上运行我的应用程序时,我收到此错误.

我做了什么:

  1. 我正在使用Firebase-UI并运行Android O.
  2. 我更新了Play商店.
  3. 我已将所有SHA-1代码添加到Firebase控制台,并且包名称匹配.

事实上,当我在真实设备上运行应用程序时,它运行完美,我可以登录.

This app is not authorized to use Firebase Authentication. Please verify that the correct package name and SHA-1 are configured in the Firebase Console.
 com.google.firebase.auth.FirebaseAuthException: This app is not authorized to use Firebase Authentication. Please verifythat the correct package name and SHA-1 are configured in the Firebase Console. [ App validation failed. Is app running on a physical device? ]
 at com.google.android.gms.internal.jz.zzK(Unknown Source:239)
 at com.google.android.gms.internal.kp.zza(Unknown Source:2)
 at com.google.android.gms.internal.kq.run(Unknown Source:37)
 at android.os.Handler.handleCallback(Handler.java:789)
 at android.os.Handler.dispatchMessage(Handler.java:98) …
Run Code Online (Sandbox Code Playgroud)

android firebase firebase-authentication firebaseui

22
推荐指数
6
解决办法
3万
查看次数

android清单合并失败,gms播放服务/ firebase

我正在尝试使用firebaseUI将firebase添加到我的应用程序.作为本细则说,我已经使用了相应的GMS:播放服务(11.0.4)与firebaseUI版本(2.2.0) 当我在同步的gradle文件,我收到以下错误:

Error:Execution failed for task ':app:processDebugManifest'.
> Manifest merger failed : Attribute meta-data#android.support.VERSION@value value=(26.0.0) from [com.android.support:support-v13:26.0.0] AndroidManifest.xml:28:13-35
    is also present at [com.android.support:customtabs:25.4.0] AndroidManifest.xml:25:13-35 value=(25.4.0).
    Suggestion: add 'tools:replace="android:value"' to <meta-data> element at AndroidManifest.xml:26:9-28:38 to override.
Run Code Online (Sandbox Code Playgroud)

这是我的gradle文件:

android {
compileSdkVersion 26
buildToolsVersion "26.0.1"
defaultConfig {
    applicationId "com.test.test"
    minSdkVersion 21
    targetSdkVersion 25
    versionCode 1
    versionName "1.0"
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])


compile 'com.android.support:appcompat-v7:26.0.0'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
compile 'com.android.support:cardview-v7:26.0.0'
compile 'com.android.support:support-v13:26.0.0'
compile 'com.android.support:design:26.0.0'
compile 'com.android.support:recyclerview-v7:26.0.0'

//firebase
compile 'com.google.android.gms:play-services-auth:11.0.4'
compile 'com.google.firebase:firebase-core:11.0.4' …
Run Code Online (Sandbox Code Playgroud)

android android-manifest firebase firebaseui

21
推荐指数
3
解决办法
3万
查看次数

Google使用Firebase登录Android - statusCode DEVELOPER_ERROR

我尝试在Firebase连接的Android应用中实施Google登录.当我运行应用程序并按Google登录按钮时 - 没有任何反应.我在onActivityResult中收到此错误: Status {statusCode = DEVELOPER_ERROR,resolution = null}.

我的代码看起来像这样:

     protected void onActivityResult(int requestCode, int resultCode, Intent data) {

    if (requestCode == REQUEST_CODE_GOOGLE_LOGIN) {
        GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);

        if (result.isSuccess()){
            GoogleSignInAccount account = result.getSignInAccount();
            String emailAddres = account.getEmail();
            getGoogleQAuthToken(emailAddres);
        }
    }
}

         private void getGoogleQAuthToken(final String emailAddres){
             AsyncTask<Void,Void,String> task = new AsyncTask<Void, Void, String>() {
                 String errorMessage = null;

                 @Override
                 protected String doInBackground(Void... params) {
                     String token = null;
                     try {
                         String scope = "oauth2:profile email";
                         token = GoogleAuthUtil.getToken(MainActivity.this, …
Run Code Online (Sandbox Code Playgroud)

android google-authentication firebase firebase-authentication firebaseui

19
推荐指数
4
解决办法
2万
查看次数

在FirebaseRecyclerAdapter上应用过滤器

FirebaseRecyclerAdapter用来显示聊天消息.

private void attachRecyclerViewAdapter() {
    lastFifty = mChatRef.limitToLast(50).;
    mRecyclerViewAdapter = new FirebaseRecyclerAdapter<Chat, ChatHolder>(
            Chat.class, R.layout.message, ChatHolder.class, lastFifty) {

        @Override
        public void populateViewHolder(ChatHolder chatView, Chat chat, int position) {
            chatView.setName(chat.getName());
            chatView.setText(chat.getText());
            chatView.setTimeLocation(chat.getTime());
            FirebaseUser currentUser = mAuth.getCurrentUser();

            if (currentUser != null && chat.getUid().equals(currentUser.getUid())) {
                chatView.setIsSender(true);
            } else {
                chatView.setIsSender(false);
            }
        }
    };
Run Code Online (Sandbox Code Playgroud)

我有一个包含特定用户列表的列表.我想应用过滤器只查看来自这些特定用户的邮件.我该怎么办 ?

android firebase firebase-realtime-database firebaseui

19
推荐指数
1
解决办法
881
查看次数

如何从Android App中删除Firebase用户?

我正在尝试在我的Android应用程序中编写删除用户方法,但每次执行它时都会遇到一些问题.当用户按下活动上的删除帐户按钮时,将执行此方法.我的应用与FirebaseUI Auth配合使用.

这是方法:

private void deleteAccount() {
    Log.d(TAG, "ingreso a deleteAccount");
    FirebaseAuth firebaseAuth = FirebaseAuth.getInstance();
    final FirebaseUser currentUser = firebaseAuth.getCurrentUser();

    currentUser.delete().addOnCompleteListener(new OnCompleteListener<Void>() {
        @Override
        public void onComplete(@NonNull Task<Void> task) {
            if (task.isSuccessful()) {
                Log.d(TAG,"OK! Works fine!");
                startActivity(new Intent(Main3WelcomeActivity.this, Main3Activity.class));
                finish();
            } 
        }
    }).addOnFailureListener(new OnFailureListener() {
        @Override
        public void onFailure(@NonNull Exception e) {
            Log.e(TAG,"Ocurrio un error durante la eliminación del usuario", e);
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

1)当我执行该功能时,屏幕上会出现一个Smart Lock消息,用户再次登录.以下是此消息的屏幕截图.

Smartlock消息

2)在其他情况下,当用户登录很长时间时,该函数抛出一个Exception,如下所示:

06-30 00:01:26.672 11152-11152/com.devpicon.android.firebasesamples E/Main3WelcomeActivity: Ocurrio un error durante la …
Run Code Online (Sandbox Code Playgroud)

android firebase-authentication firebase-realtime-database firebaseui

18
推荐指数
2
解决办法
2万
查看次数

使用Facebook的FirebaseUI身份验证无效

我正在使用FirebaseUI-Authentication.使用电子邮件或Google帐户登录是成功的,但使用Facebook登录无效.onActivityResult()AuthUI活动开始并尝试使用Facebook登录后未调用.登录后尝试将应用程序停留在加载窗口.logcat输出FirebaseApp日志:

通知背景状态更改侦听器.

在Facebook应用程序仪表板上,我设置了有效的OAuth重定向URI,正如firebase指南所述,我将应用程序设置为公共(如果它是公共的还是处于开发状态,这是否重要?).在Firebase控制台中,我启用了Facebook登录并设置了App IDApp secret.

是一个视频录制,显示点击登录活动后登录Facebook后发生的情况.

为什么不onActivityResult()叫?

主要活动:

/**
 * Use this method to start the FirebaseUI sign in activity.
 */
public void switchToSignIn() {
    this.activity.startActivityForResult(
            AuthUI.getInstance()
                    .createSignInIntentBuilder()
                    .setProviders(
                            AuthUI.EMAIL_PROVIDER,
                            AuthUI.GOOGLE_PROVIDER,
                            AuthUI.FACEBOOK_PROVIDER)
                    .build(), RC_SIGN_IN);
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == RC_SIGN_IN) {
        if (resultCode == this.activity.RESULT_OK) {
            // user is signed in!
            Log.d(Constants.TAG_LoginHandler, …
Run Code Online (Sandbox Code Playgroud)

android facebook-authentication firebase firebase-authentication firebaseui

17
推荐指数
1
解决办法
3240
查看次数

使用vanilla JavaScript在客户端处理Firebase ID令牌

我正在使用vanilla JavaScript编写Firebase应用程序.我正在使用Firebase身份验证和FirebaseUI for Web.我正在使用Firebase Cloud Functions来实现一个服务器,该服务器接收我的页面路由请求并返回呈现的HTML.我正在努力寻找在客户端使用经过身份验证的ID令牌来访问我的Firebase云功能所服务的受保护路由的最佳做法.

我相信我理解基本流程:用户登录,这意味着ID令牌被发送到客户端,在onAuthStateChanged回调中接收它,然后插入Authorization任何具有正确前缀的新HTTP请求的字段,然后检查当用户尝试访问受保护的路由时由服务器.

我不明白我应该对onAuthStateChanged回调中的ID令牌做什么,或者我应该如何修改我的客户端JavaScript以在必要时修改请求头.

我正在使用Firebase云功能来处理路由请求.这是我的functions/index.js,它导出app所有请求被重定向到的方法以及检查ID标记的位置:

const functions = require('firebase-functions')
const admin = require('firebase-admin')
const express = require('express')
const cookieParser = require('cookie-parser')
const cors = require('cors')

const app = express()
app.use(cors({ origin: true }))
app.use(cookieParser())

admin.initializeApp(functions.config().firebase)

const firebaseAuthenticate = (req, res, next) => {
  console.log('Check if request is authorized with Firebase ID token')

  if ((!req.headers.authorization || !req.headers.authorization.startsWith('Bearer ')) &&
    !req.cookies.__session) {
    console.error('No Firebase ID token was passed …
Run Code Online (Sandbox Code Playgroud)

javascript security firebase firebase-authentication firebaseui

16
推荐指数
1
解决办法
3038
查看次数

在项目“应用”中,已解析的Google Play服务库依赖项依赖于另一个版本

尝试使用FireStore和Google身份验证创建一个简单的应用程序。gradle有问题:

在项目“应用”中,已解析的Google Play服务库依赖项依赖于另一个版本(例如“ [15.0。1]”),但尚未解析为该版本。库所表现出的行为将是未知的。

依赖项失败:com.google.android.gms:play-services-flags:15.0.1-> com.google.android.gms:play-services-basement @ [15.0.1],但是play-services-basement版本是16.0.1。

以下依赖关系是直接或具有传递性依赖关系的项目依赖关系,会导致问题解决。-专案「app」取决于com.google.firebase:firebase-firestore@17.1.5-专案「app」取决于com.firebaseui:firebase-ui-auth@4.2.0

有关扩展的调试信息,请从命令行使用./gradlew --info:app:assembleDebug执行Gradle,以查看工件的dep endency路径。此错误消息来自google-services Gradle插件,在https://github.com/google/play-services-plugins上报告问题,并通过在您的build.gradle文件中添加“ googleServices {disableVersionCheck = false}”来禁用该错误消息。

    apply plugin: 'com.android.application'

    android {
        compileSdkVersion 27
        defaultConfig {
            applicationId "myapp.com"
            minSdkVersion 19
            targetSdkVersion 27
            versionCode 11
            versionName "1.1"
            testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
            multiDexEnabled true
        }
        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:27.1.1'
        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-firestore:17.1.5'

        implementation 'com.firebaseui:firebase-ui-auth:4.2.0'

    }

    apply plugin: 'com.google.gms.google-services'
    com.google.gms.googleservices.GoogleServicesPlugin
Run Code Online (Sandbox Code Playgroud)

项目gradle: …

android android-gradle-plugin firebaseui

16
推荐指数
8
解决办法
2万
查看次数