java - isProviderEnabled() 永远不会被调用 android

标签 java android networking location

我正在编写用于获取手机当前位置(纬度和经度)的代码。无论电话是否提供网络位置服务,我都会 toast 。这个 toast 永远不会出现。另一个问题是,为了使用 Network_location 获取当前位置,应用程序是否会使用手机的 gprs/internet

我在主要 Activity 中创建了此类的实例,然后在扩展 broadcast reciever 的另一个类中使用此类的 Latitude 和 Longitude 变量获取数据。

public class GpsClass extends Activity{

public static String Latitude="";
public static String Longitude=""; 

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    LocationManager manager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);

    LocationListener listener = new LocationListener() { // anonymous class

        @Override
        public void onStatusChanged(String arg0, int arg1, Bundle arg2) {
            // TODO Auto-generated method stub

        }

        @Override
        public void onProviderEnabled(String arg0) {
            // TODO Auto-generated method stub

        }

        @Override
        public void onProviderDisabled(String arg0) {
            // TODO Auto-generated method stub

        }

        @Override
        public void onLocationChanged(Location currentLocation) {

            double lat= currentLocation.getLatitude();

            Latitude = Double.toString(lat);

            double longt= currentLocation.getLongitude();

            Longitude = Double.toString(longt);

        }
    };


    manager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, listener);

    if(manager.isProviderEnabled(LocationManager.NETWORK_PROVIDER))
    {
        Toast.makeText(getApplicationContext(), "Network enabled", 0).show();
    }
    else
        Toast.makeText(getApplicationContext(), "Network not enabled", 0).show();

 }

}

我做错了什么吗?

问候

最佳答案

我认为问题在于您在持续时间内传递了 0,即 makeText() 方法的最后一个参数。 尝试传递 Toast.LENGTH_SHORTToast.LENGTH_LONG

if(manager.isProviderEnabled(LocationManager.NETWORK_PROVIDER))
{
    Toast.makeText(getApplicationContext(), "Network enabled", Toast.LENGTH_LONG).show();
}
else
    Toast.makeText(getApplicationContext(), "Network not enabled", Toast.LENGTH_LONG).show();

关于java - isProviderEnabled() 永远不会被调用 android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17175014/

相关文章:

java - 通过 Maven 生成 UUID

android - 更改旋转jquerymobile后如何防止重新加载

java - 如何访问 arraylist 中的列表元素

Docker:仅限制与本地主机的传出连接,同时允许所有传入连接

c# - 使用相同的 tcpclient 进行读/写并保持事件状态

ios - 连接时网络无法访问

java - 不发布的服务模块在 Helios 中不起作用

java - Android 中的 ZXing 集成 有没有一种方法可以在不单击返回按钮的情况下退出扫描

java - 无法使用 Jersey 解析模板

android - 如何以编程方式连接到已在 Android 手机中设置的 VPN