gpt4 book ai didi

java - 在继续 Android 之前等待 GPS 位置

转载 作者:行者123 更新时间:2023-11-30 11:26:18 25 4
gpt4 key购买 nike

我知道周围有许多类似的问题,但在我的搜索中找不到合适的答案。

我的应用程序有一个 Activity 依赖于 GPS 位置来运行。如果应用程序在启动后立即运行,由于位置为空的空指针异常等原因,应用程序将崩溃。我知道这些是我的编程错误,我应该处理异常,但在找到 GPS 修复之前,该 Activity 仍然无用。

当应用程序崩溃时,我会看到“正在搜索 GPS”图标,如果该图标放置的时间足够长,系统就会找到 GPS 位置,应用程序可以正常运行。

我已经创建了另一个 Activity 作为主屏幕,当找到 GPS 位置时,它将启用按钮链接到上述 Activity 。问题是它似乎没有找到或正在寻找 GPS 信号。我的意思是没有出现“正在搜索 GPS”图标并且该按钮从未启用。此家庭 Activity 的代码如下,我是否遗漏了什么?

我的 Activity 实现了 LocationListener,下面的代码在 Activity 的“onCreate”方法中。 “startExplore”开始我的 GPS 依赖 Activity 。

    exploreButton = (Button) findViewById(R.id.button1);

exploreButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
startExplore();
}
});

// Get the location manager
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
// Define the criteria how to select the location provider -> use
Criteria criteria = new Criteria();
provider = locationManager.getBestProvider(criteria, false);
Location location = locationManager.getLastKnownLocation(provider);

// Initialize the location fields
if (location != null) {
System.out.println("Provider " + provider + " has been selected.");
onLocationChanged(location);
} else {
exploreButton.setEnabled(false);
exploreButton.setText("Finding location . . .");
}

这是我的“onLocationChanged”方法。正如我上面所说,与我的其他 Activity 不同,我没有获得“正在搜索 GPS”图标,并且似乎没有找到位置,尽管这与我的其他 Activity 中使用的方法相同。那么,这是等待找到位置的正确方法吗?任何人都可以找出任何错误吗?

public void onLocationChanged(Location location) {
exploreButton.setEnabled(true);
exploreButton.setText("Found signal");

}

最佳答案

调用locationManager.requestLocationUpdates(locationProvider, 0, 0, this)获取更新的位置..这可能是问题的根源..因此我认为只有“搜索 GPS”没有启动..

关于java - 在继续 Android 之前等待 GPS 位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19878204/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com