W / SyncTree:在/ url处侦听失败:DatabaseError:权限被拒绝

时间:2020-03-14 23:10:54

标签: java android firebase firebase-realtime-database

我试图获取该值(在本例中为URL),但从我的数据库中读取了这些错误,但是每次出现这些错误消息时,都会出现。该应用程序已连接到Firebase,我在清单中给了Internet许可。如果代码看起来有些烦人,请问好,我是几个月前才开始编码的。

"I/HwSecImmHelper: mSecurityInputMethodService is null
I/HwSecImmHelper: mSecurityInputMethodService is null
I/HwSecImmHelper: mSecurityInputMethodService is null
I/System: core_booster, getBoosterConfig = false
I/HwSecImmHelper: mSecurityInputMethodService is null
W/SyncTree: Listen at /url failed: DatabaseError: Permission denied"
{
  "rules": {
    ".read": "auth != null",
    ".write": "auth != null"
  }
}
public class TODAYS_SPECIAL extends AppCompatActivity {
    private TextView text1;
    private PDFView pfdView;
    private FirebaseDatabase database = FirebaseDatabase.getInstance();
    DatabaseReference mref = database.getReference("url");

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_todays__special);
        pfdView= (PDFView) findViewById(R.id.dokument);
        text1=(TextView)findViewById(R.id.text1);

        mref.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                String value = dataSnapshot.getValue(String.class);
                text1.setText(value);
                String url = text1.getText().toString();
                Toast.makeText(TODAYS_SPECIAL.this, "Updated", Toast.LENGTH_SHORT).show();
                new RetrievePdfStream().execute(url);

            }

            @Override
            public void onCancelled(@NonNull DatabaseError databaseError) {
                Toast.makeText(TODAYS_SPECIAL.this, "Failed", Toast.LENGTH_SHORT).show();
            }
        });}

        class RetrievePdfStream extends AsyncTask<String,Void, InputStream>{

            @Override
            protected InputStream doInBackground(String... strings) {
                InputStream inputStream = null;
                try{
                    URL url=new URL (strings[0]);
                    HttpURLConnection urlConnection = (HttpURLConnection)url.openConnection();
                    if (urlConnection.getResponseCode()==200);
                    {
                        inputStream = new BufferedInputStream(urlConnection.getInputStream());
                    }
                }catch (IOException e){
                    return null;
                }
                return inputStream;
            }

            @Override
            protected void onPostExecute(InputStream inputStream) {
                pfdView.fromStream(inputStream).load();
            }
        }
        }



0 个答案:

没有答案