通过Timer中的几种方式获取位置

时间:2015-07-21 12:36:02

标签: java android syntax timer syntax-error

您好我正在创建跟踪应用,我想快速获取该位置。但这个应用程序应该对人们友好。它应该是这样的:

  1. 我打开GPS,我想通过它获取位置
  2. 如果花费的时间超过5秒,我会尝试通过网络提供商获取位置
  3. 如果需要花费5秒多的时间我试图通过wifi获取位置
  4. 如果需要更多我还会做其他事情。
  5. 我已经有了这个功能!如何做到这一点他们一个接一个地工作(如果一个人超过5秒我们移动到另一个)。

    所以我认为我必须使用某种计时器,但是如果我把这样的代码放在这里我就遇到了问题

        Timer timer2 = new Timer(); 
        TimerTask testing = new TimerTask() {
            public void run() { 
                handler.post(new Runnable() {
                    public void run() {
                        Toast.makeText(MainActivity.this, "test", Toast.LENGTH_SHORT).show();
                    }
    
                });
    
    
            }
        }; timer2.schedule(testing, 1000); ***
    *** here syntax errors
    

    不在onCreate里面我有语​​法错误(我想在按下按钮后这样做)。但是,下一个接下来的3个方法应该如何看待这个计时器?

1 个答案:

答案 0 :(得分:0)

取决于您正在开发的操作系统,我建议您使用可用于检索位置的操作系统特定方法。

如果是Android的例子,有一项服务可以让您以用户友好的方式检索位置非常容易:

请检查:https://developer.android.com/training/location/index.html

这允许您创建位置请求,具体取决于您的情况,您可以使用特定优先级定义请求。例如:如果您的情况下城市精度足够,您可以定义它,框架可能决定仅使用当前可用的WIFI来获取位置(而不是启动GPS)。