Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/200.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 位置侦听器错误:java.lang.IllegalArgumentException:侦听器==null_Android_Location - Fatal编程技术网

Android 位置侦听器错误:java.lang.IllegalArgumentException:侦听器==null

Android 位置侦听器错误:java.lang.IllegalArgumentException:侦听器==null,android,location,Android,Location,我想创建两个locationListener,一个用于GPS侦听器,另一个用于网络侦听器。我写了下面的代码,但当我在requestUpdate中使用侦听器时,我得到了一个错误。我的问题是什么?如何解决 public static void createLocationListener(Context contextVal) { gpsLocListener= new MyLocationListener(); if(FIND_LOC_ByY_GPS) networ

我想创建两个locationListener,一个用于GPS侦听器,另一个用于网络侦听器。我写了下面的代码,但当我在requestUpdate中使用侦听器时,我得到了一个错误。我的问题是什么?如何解决

public static void createLocationListener(Context contextVal) {
    gpsLocListener= new MyLocationListener();
    if(FIND_LOC_ByY_GPS)
        networkLocListener=new MyLocationListener();
}

public static class MyLocationListener implements LocationListener {

    public MyLocationListener(){}

    @Override
    public void onLocationChanged(Location location) {
        if (location != null) {
            try {
                removeLocationUpdate();
                if (DEBUG_BASEACTIVITY)
                    Log.e("GPS Location Changed!", "onLocationChanged/BaseActivity");

            } catch (SecurityException e) {
                Log.e("PERMISSION_EXCEPTION", "PERMISSION_NOT_GRANTED");
            }
            get_location_by_LocationUpdate_method=true;
            doLocationUpdate(location, true);
        }
    }

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

    }

    @Override
    public void onProviderEnabled(String provider) {

    }

    @Override
    public void onProviderDisabled(String provider) {

    }
}
错误:

java.lang.RuntimeException: Unable to start receiver com.Reciever: java.lang.IllegalArgumentException: listener==null

要使用GPS和其他基于位置的服务,您必须获得访问位置权限


如果您使用的是Android版本6(棉花糖),则必须在运行时请求许可。

您是否已授予访问位置的权限?谢谢您的回复。是的,我在清单中授予权限您的目标SDK版本是什么?我的目标SDK版本是23,因此您必须在运行时获得权限。