我试图确保我的数据库在用户登录时每隔5分钟获取当前更新的位置...,我正在寻找一个可以与我写的内容一起使用的解决方案......
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_user_profile);
Firebase.setAndroidContext(this);
gpsTracker = new GPSTracker(UserProfile.this);
double lat = gpsTracker.getLatitude();
double lang = gpsTracker.getLongitude();
mDatabase = FirebaseDatabase.getInstance().getReference();
mAuth = FirebaseAuth.getInstance();
mDatabase.child("User").child(mAuth.getCurrentUser().getUid()).child("latitude").setValue(lat);
mDatabase.child("User").child(mAuth.getCurrentUser().getUid()).child("longitude").setValue(lang);
mDatabase.child("User").child(mAuth.getCurrentUser().getUid()).child("Availability").setValue(true);
mDatabase.child("User").child(mAuth.getCurrentUser().getUid()).child("Availability").onDisconnect().setValue(false);
}
正如你所看到的那样,目前我只是在上网后获得了这个位置并保持静止,除非你退出并再次进入活动...... 我听说过一个叫Handler的东西,但是我没有设法正确地使用它(或者它不是为了什么意思?) 谢谢!
答案 0 :(得分:0)
我强烈建议您通过服务来执行此操作。它们是内置的功能,可以在后台运行。
我建议使用android位置监听器获取服务中的位置。