0

Firebaseログインおよび登録アプリケーションを作成しようとしています。私は設定を持っています登録時にアンドロイドIDはデータベースに保存されます。 Android Idが別のアカウントで終了した場合、ユーザーはアカウントを作成できません。私はアプリを実行し、アカウントを登録しようとすると、 "お待ちください登録してください..."とnothingsが表示されます。どうすればこの問題を解決できますか?Firebaseデータベースクエリが機能しない

+0

:?

0downは別のアプローチは、このようなデータベースのルールを変更することになります

をvoteaccepted – Sree

+0

いいえ私のコードは大丈夫ですか? – Fodis

+0

あなたはUserIdQueryで何を得ていますか? – Sree

答えて

0

をキャンセルされた場合progressDialogを解任Firebase Authenticationを使用して、あなたを示唆しています。

これは実装が非常に簡単で、今後管理するコードはありません。これはandroidSerialNumberあなたのデータベースに保存し、それを使用することができます持つ

TelephonyManager tManager = (TelephonyManager)myActivity.getSystemService(Context.TELEPHONY_SERVICE); 
String androidSerialNumber = tManager.getDeviceId(); 

は、このコードを使用してくださいAndroidデバイスのシリアル番号を確認するには。あなたはDatabaseErrorの中身をチェックください

{ "rules": 
    { ".read": "true", 
     ".write": "auth != null" 
    } 
} 
+0

私は理解していません。 – Fodis

+0

を書くことができますか?(上のリンク先のように)公式文書の手順に従うだけで問題は解決します。 –

+0

私が望む方法はありません。私はすでに電子メールを使用し、メソッドを渡します。私のコードの弟を参照してください。 – Fodis

0

コードをこれに変更します。

if(task.isSuccessful()){ 
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference(); 
rootRef.child(firebaseAuth.getCurrentUser().getUid()).child("Id").setValue(android_id); 
progressDialog.dismiss(); 
startActivity(new Intent(getApplicationContext(), ProfileActivity.class)); 
finish(); 
} 

ともクエリが認証に関する問題と、すべてのあなたの問題を解決するために

@Override 
     public void onCancelled(DatabaseError databaseError) { 
     progressDialog.dismiss(); 
     } 
    }); 
+0

アクティビティを終了し、ProfileActivity – Fodis

+0

@waqabを開きます。これは今働いています – Fodis

関連する問題