android firebase位置每5分钟更新一次

时间:2016-08-02 16:10:08

标签: android firebase firebase-realtime-database

我试图确保我的数据库在用户登录时每隔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的东西,但是我没有设法正确地使用它(或者它不是为了什么意思?) 谢谢!

1 个答案:

答案 0 :(得分:0)

我强烈建议您通过服务来执行此操作。它们是内置的功能,可以在后台运行。

我建议使用android位置监听器获取服务中的位置。