-2
我想創建一個應用程序,可以在某種方法執行時自動更新。我使用Handler來自動更新時間。當時間到了,它會將數據更新到firebase。它可以在應用程序未關閉時工作。但是當我在指定的更新時間之前關閉應用程序時,處理程序不起作用。儘管我使用了可以使應用程序保持運行的服務。如何使Handler始終運行,但在java中關閉應用程序
到目前爲止,這是我的代碼:
AutoUpdate.java
public class AutoUpdate extends AppCompatActivity {
TextView textDateTime;
TextView textcurrentDateTime;
DatabaseReference mDatabase;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_auto_update);
String currentDate = DateFormat.getDateTimeInstance().format(new Date());
textcurrentDateTime.setText(currentDate);
final Handler handler=new Handler();
final Runnable updateTask=new Runnable() {
@Override
public void run() {
updateCurrentTimeToFirebase();
handler.postDelayed(this,7000);
handler.removeCallbacks(this);
}
};
handler.postDelayed(updateTask,7000);
startService(new Intent(this, MyService.class));
}
public void updateCurrentTimeToFirebase() {
String currentDate = DateFormat.getDateTimeInstance().format(new Date());
mDatabase = FirebaseDatabase.getInstance().getReference();
String id = mDatabase.push().getKey();
mDatabase.child("autoUpdate").child(id).child("updateTime").setValue(currentDate);
}
}
Myservice.java
public class MyService extends Service {
public MyService() {
}
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
return super.onStartCommand(intent, flags, startId);
}
}
請我需要你的幫助.. 三江源這麼多..
而不是使用處理器,使用後臺服務運行所有的時間 –
檢查我的onStartCommand()在服務使用onStart() –