我在Android Things设备上使用Firebase实时数据库和云存储。我有一个规则定义为“允许所有人读写”。当我试图在那里写东西
final DatabaseReference log = mDatabase.getReference("logs").push();
final StorageReference imageRef = mStorage.getReference().child(log.getKey());
UploadTask task = imageRef.putBytes(imageBytes);
task.addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
Uri downloadUrl = taskSnapshot.getDownloadUrl();
log.child("timestamp").setValue(ServerValue.TIMESTAMP);
log.child("image").setValue(downloadUrl.toString());
annotateImage(log, imageBytes);
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
log.removeValue();
}
});
,我收到Firebase错误,说我应该先登录。 然后,我尝试登录(以前创建了用户)
mAuth.signInWithEmailAndPassword(email, password)
.addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
// do my work
} else {
// handle error
}
}
});
但是现在它说:
com.google.firebase.FirebaseNetworkException:网络错误(例如超时,连接中断或主机无法访问)
我在设备上拥有互联网,并且好像可以访问Firebase之前说我需要登录。
我正在使用Firebase核心,存储,身份验证和数据库版本16。
有什么想法可以解决这个问题吗?
答案 0 :(得分:1)
B / c,我的wi-fi名称中包含空格,我的AndroidThings
设备不会与它连接(在安装时,它说“连接成功”,但不是) 。该设备仅在wi-fi名称中的空格前看到第一个单词。)因此,我创建了一个热点,其中没有空格,并且可以正常工作。