【问题标题】:error on java.lang.IllegalArgumentException: provider==nulljava.lang.IllegalArgumentException 上的错误:provider==null
【发布时间】:2025-12-23 08:35:10
【问题描述】:

我将我的应用程序发布到了 android 市场。我的主页出现错误。有人写了崩溃错误。但是这个应用程序在我的真实设备中完美运行。我也添加了权限。 我的错误:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.karthi.locationspeecher/com.android.locationspeecher.LocationSpeecher}: java.lang.IllegalArgumentException: provider==null
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1651)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
at android.app.ActivityThread.access$1500(ActivityThread.java:117)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3687)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.IllegalArgumentException: provider==null
at android.location.LocationManager.getLastKnownLocation(LocationManager.java:1017)
at com.android.locationspeecher.LocationSpeecher.onCreate(LocationSpeecher.java:84)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)
... 11 more

位置管理器:

 LocationManager locationManager; 
            String context = Context.LOCATION_SERVICE; 
            locationManager = (LocationManager)getSystemService(context); 

            Criteria crta = new Criteria(); 
            crta.setAccuracy(Criteria.ACCURACY_FINE); 
            crta.setAltitudeRequired(false); 
            crta.setBearingRequired(false); 
            crta.setCostAllowed(true); 
            crta.setPowerRequirement(Criteria.POWER_LOW); 
            String provider = locationManager.getBestProvider(crta, true); 

         // String provider = LocationManager.GPS_PROVIDER; 
            Location location = locationManager.getLastKnownLocation(provider); 
            updateWithNewLocation(location); 

            locationManager.requestLocationUpdates(provider, 2000, 10, locationListener); 
            } 

【问题讨论】:

    标签: android google-maps gps illegalargumentexception


    【解决方案1】:

    由于GPS Providers 不可用,您很可能收到此错误。如果Gps ProviderNetwork Provider 已在位置设置中启用,请让此人检查设置。

    【讨论】:

      【解决方案2】:

      还要确保将android.permission.ACCESS_FINE_LOCATIONandroid.permission.ACCESS_COARSE_LOCATION 添加到您的Manifest 文件中,这为我解决了这个问题(所有提供程序都已在位置设置中启用)。

      【讨论】:

        【解决方案3】:

        我通过添加解决了这个问题:

        `[程序集:UsesPermission(Manifest.Permission.AccessFineLocation)] [程序集:UsesPermission(Manifest.Permission.AccessCoarseLocation)] [程序集:UsesPermission(Manifest.Permission.Internet)]'

        在 assemlyInfo.cs 中授予权限

        【讨论】:

          最近更新 更多