Android Studio-Firebase上的setValue和锁定屏幕中的快速设置图块

我目前正在开发一个应用程序,该程序可以让我通过Firebase实时数据库控制多件事。例如:我可以通过按下按钮来打开和关闭灯。我添加的最后一个功能是“快速设置”图块,因此请打开或关闭所述指示灯。为此,我将TileService与Firebase结合使用,如下所示。这可以正常工作,直到屏幕锁定一会儿。如果再单击该图块,则它会打开或关闭,但是不会更新Firebase数据库。我想手机进入睡眠模式并阻止Tile使用互联网连接?澄清一下:唯一不起作用的是在我手动在线更改Firebase值时更新Firebase值/更新Icon。 这是数据库的引用方式:

    FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference();
final DatabaseReference tripodstatus=myRef.child("tripod").child("status");

这是onStartListening代码:

    @Override
public void onStartListening(){
    tripodstatus.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(Datasnapshot datasnapshot) {
            // This method is called once with the initial value and again
            // whenever data at this location is updated.
            String value = datasnapshot.getvalue(String.class);
            int val = Integer.parseInt(value);
            if(val == 0){
                readstate=false;
            }
            else{
                readstate=true;
            }
            refresh(readstate);
            Log.d("file","Value is: " + val + readstate);

        }

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {
            Context context = getapplicationContext();
            CharSequence text = (CharSequence)databaseError;
            int duration = Toast.LENGTH_SHORT;

            Toast toast = Toast.makeText(context,text,duration);
            toast.show();

        }
    });

这就是我单击它时所做的事情(将其关闭基本上是相同的)

        getQsTile().setState(STATE_actIVE);
        Icon icon = Icon.createWithResource(getapplicationContext(),statusImages[1]);
        getQsTile().setIcon(icon);
        getQsTile().updateTile();
        tripodstatus.setvalue("1");

我认为打开它的函数被调用(因为Tile切换为活动状态),但是它以某种方式无法更新Firebase。非常感谢您提供修复方面的帮助。

lpf3288547 回答:Android Studio-Firebase上的setValue和锁定屏幕中的快速设置图块

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3157592.html

大家都在问