firebase在活动开关中拒绝(其他情况的许可)



在发送firebase请求并在末尾进行活动切换时,我会收到
DatabaseError: Permission denied消息,在调试模式下运行时(即不让Android切换到其他活动(或更换updateUI()函数return;功能成功完成,并且数据已在服务器中注册。

Button sendRequest = (Button) this.findViewById(R.id.bt_send_request);
sendRequest.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        if(choosenLatLng == null || myTime == null){
            Toast.makeText(JobRequestActivity.this, "you need to enable location permission first", Toast.LENGTH_LONG).show();
            return;
        }
        DatabaseReference mJobDatabase = FirebaseDatabase.getInstance().getReference().child("Jobs").child("beersheva").push();
        mJobDatabase.child("costumer").setValue(FirebaseAuth.getInstance().getCurrentUser().getUid());
        mJobDatabase.child("date1").setValue(myTime);
        mJobDatabase.child("duration").setValue(duration.getSelectedItem());
        mJobDatabase.child("phone number").setValue("default");
        mJobDatabase.child("jobtype").setValue(jobType.name());
        mJobDatabase.child("location").setValue(new LatLng(31.246897, 34.792883));
        mJobDatabase.child("job picture").setValue("default");
        updateUI();
    }
});
private void updateUI() {
    //TODO determine where to go
    Intent intent = new Intent(JobRequestActivity.this, 
                  MainCustomerActivity.class);
    startActivity(intent);
}

问题不是在权限规则上,而是关闭了与数据库的连接并重新打开活动切换。
在上次写请求上添加完整的侦听器已修复

mJobDatabase.child("extraParams").setValue(requestValues).addOnCompleteListener(new OnCompleteListener<Void>() {
                    @Override
                    public void onComplete(@NonNull Task<Void> task) {
                        if (task.isSuccessful()) {
                            Toast.makeText(JobRequestActivity.this, "Job added to the server.",
                                    Toast.LENGTH_SHORT).show();
                            updateUI();
                        } else {
                            // If sign in fails, display a message to the user.
                            Log.w(TAG, "failed adding work ", task.getException());
                            Toast.makeText(JobRequestActivity.this, "Could not add job, try again.",
                                    Toast.LENGTH_SHORT).show();
                        }
                    }
                });

相关内容

最新更新