我在初始化 a 变量时遇到问题。
a = 1
我查了一下,所有条件都满足。
if (dataSnapshot.exists()) {
String devId = dataSnapshot.getValue().toString();
if (deviceId.equals(devId)){
a = 1;
}
}
但由于某种原因,不满足 a == 1 的条件。
if (a == 1){
Intent intent = new Intent(SplashScreen.this, SecondActivity.class);
startActivity(intent);
finish();
} else {
Intent intent = new Intent(SplashScreen.this, MainActivity.class);
startActivity(intent);
finish();
我也会留下完整的代码,我认为这对解决我的问题会很有用。
package com.example.vtsilver;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.provider.Settings;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;
public class SplashScreen extends AppCompatActivity {
private String deviceId;
private DatabaseReference database;
public int a;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
init();
getdeviceId();
}
private void init() {
deviceId = Settings.Secure.getString(getContentResolver(), Settings.Secure.ANDROID_ID);
database = FirebaseDatabase.getInstance().getReference().child("Tokens");
}
private void getdeviceId() {
for (int i = 1; i < 5; i++) {
database.child("token" + i).child("deviceId").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
if (dataSnapshot.exists()) {
String devId = dataSnapshot.getValue().toString();
if (deviceId.equals(devId)){
a = 1;
}
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
if (a == 1){
Intent intent = new Intent(SplashScreen.this, SecondActivity.class);
startActivity(intent);
finish();
} else {
Intent intent = new Intent(SplashScreen.this, MainActivity.class);
startActivity(intent);
finish();
}
}
}
对于您提供的任何帮助,我将不胜感激。
抱歉下面的测试,但是这个问题我不知道还能写什么,而且Stackoverflow写了看起来你的帖子主要是代码;请添加更多详细信息。