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

huangapple 未分类评论60阅读模式
英文:

W/SyncTree: Listen at /url failed: DatabaseError: Permission denied

问题

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();
        }
    }
}

错误信息:
"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"
  }
}
英文:

Im trying to get the value, in this case an URL, read out of my database but everytime these errorors appear. The app is connected to firebase and I gave internet permission in my Manifest. Excuse me if the code seems a little irretating I just started coding a couple month ago.

&quot;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&quot;
{
  &quot;rules&quot;: {
    &quot;.read&quot;: &quot;auth != null&quot;,
    &quot;.write&quot;: &quot;auth != null&quot;
  }
}
public class TODAYS_SPECIAL extends AppCompatActivity {
    private TextView text1;
    private PDFView pfdView;
    private FirebaseDatabase database = FirebaseDatabase.getInstance();
    DatabaseReference mref = database.getReference(&quot;url&quot;);

    @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, &quot;Updated&quot;, Toast.LENGTH_SHORT).show();
                new RetrievePdfStream().execute(url);

            }

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

        class RetrievePdfStream extends AsyncTask&lt;String,Void, InputStream&gt;{

            @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();
            }
        }
        }




</details>


huangapple
  • 本文由 发表于 2020年3月15日 07:10:54
  • 转载请务必保留本文链接:https://java.coder-hub.com/60688178.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定