java - 安卓定位问题

标签 java android location

我读过这样的帖子,android getlastknownlocation returns null ,但除了已知位置之外我还有一个问题。

我知道,如果我没有任何提供者,我就无法获得任何已知位置,getLastKnowedLocation()。但是,当检测到提供商时我如何获取位置?

我使用这个代码:

 public void myPosition() {
    if (mapa.getMyLocation() != null)
        mapa.animateCamera(CameraUpdateFactory.newLatLngZoom(
                new LatLng( mapa.getMyLocation().getLatitude(), mapa.getMyLocation().getLongitude()), 13));
    else{
        loca = locaMan.getLastKnownLocation(bestProvi);

        if (loca != null)
        mapa.moveCamera(CameraUpdateFactory.newLatLngZoom(
                new LatLng( loca.getLatitude(), loca.getLongitude()), 15));

    }
}
public void onLocationChanged(Location location) {
    myPosition();
}

@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
    myPosition();
}

@Override
public void onProviderEnabled(String provider) {
    myPosition();
    Toast toast1 =Toast.makeText(getApplicationContext(),"Provider ON", Toast.LENGTH_SHORT);
    toast1.show();
}

@Override
public void onProviderDisabled(String provider) {
    Toast toast1 =Toast.makeText(getApplicationContext(),"Provider OFF", Toast.LENGTH_SHORT);
    toast1.show();
}

但是当提供程序被激活时,只有当我关闭并打开智能手机上的 GPS 时,它才不会执行方法 onProviderEnabled() 的代码。

当我启动应用程序时,我看到一张 map ,5 秒后我在我的位置上看到一个蓝点,但 myPosition() 方法未执行。

我怎样才能做到这一点?

谢谢大家。

最佳答案

我试图搜索相关内容,并在这些链接中找到了 requestLocationUpdates() 方法:1 2 (西类牙语),但它在我的项目中不起作用。

所以我必须从其他方式进行更多搜索,因为我的问题不是位置,而是相机移动到这个位置。我找到了 TimerTask 库并使用了它。

我将此代码添加到其他代码中:

 public class TimerClass extends TimerTask{
        public void run () {
            runOnUiThread(new Runnable() {
                @Override
                public void run () {
                    if(!pass) {
                        myPosition();
                    }
                }
            });
        }
}

它是 MainActivity 类中的一个类。

我不知道它是否正确,但运行没有任何问题。如果有人知道解决此问题的其他方法,请回答此评论。

关于java - 安卓定位问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31679960/

相关文章:

c# - 在同一屏幕位置创建新表单

java - 执行WAR文件时出错

android - 如何在不连续向服务器发送请求的情况下在我的 android 应用程序上获取 RSS 提要更新

java - 检查网络位置提供程序是否启用的任何替代方法?

java - 从服务中检索位置

android - 同一 Activity 中横向的垂直列表和纵向的水平列表?

java - 为什么tomcat比提供静态资源的nodejs快

java - SplitPane 垂直不起作用

java - 在非 Activity 类的静态方法中启动 Toast

android - OpenGL 和 9patch 可绘制对象