【发布时间】:2020-01-14 11:28:12
【问题描述】:
我在我的 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。
任何想法如何解决这个问题?
【问题讨论】:
-
你是否设置了firebase数据库的权限
标签: android firebase-realtime-database firebase-authentication firebase-storage android-things