gpt4 book ai didi

java - 在屏幕处于 sleep 状态时运行命令 firebase

转载 作者:太空狗 更新时间:2023-10-29 13:12:23 26 4
gpt4 key购买 nike

我的 android 代码有问题。我尝试使用 Firebase Realtime Database 建立一个基于云的平台,在那里我可以立即更新数据并立即返回给我,但问题是它只在屏幕打开时执行我想要的代码.我需要的是我想在屏幕关闭时每次更改数据时执行一行代码,这可能吗?谢谢大家

@Override
protected void onStart(){
super.onStart();
mref = new Firebase("https://connection-4f6d8.firebaseio.com/condition"+a_id);
mref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String text = dataSnapshot.getValue(String.class);
if(text.equals("UNLOCKED")){
sendDataonWIfi("0");
}
}

@Override
public void onCancelled(FirebaseError firebaseError) {

}
});
}

@Override
protected void onStop() {
super.onStop();
mref = new Firebase("https://connection-4f6d8.firebaseio.com/condition"+a_id);
mref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String text = dataSnapshot.getValue(String.class);
if(text.equals("UNLOCKED")){
sendDataonWIfi("0");
}
}

@Override
public void onCancelled(FirebaseError firebaseError) {

}
});
}

最佳答案

我猜当设备进入 hibernate 模式时您的代码没有运行。要解决此问题,您必须使用唤醒锁。当您获得唤醒锁时,它会阻止设备返回 sleep 模式,直到您释放它为止。

您可以使用唤醒锁接收器并启动服务。当你的工作完成后释放唤醒锁。

Be careful in using the wakelocks since it will drain the battery faster if you not let the device go back to sleep mode(low power consumption mode). You can find implementation details in the below link :

https://developer.android.com/reference/android/support/v4/content/WakefulBroadcastReceiver.html

关于java - 在屏幕处于 sleep 状态时运行命令 firebase,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38589339/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com