Android GoogleMapV2当前位置不工作

Android GoogleMapV2当前位置不工作,android,nullpointerexception,Android,Nullpointerexception,我试图使用android google map v2获取当前位置。我的应用程序正在崩溃…我的代码和logcat如下。我搜索了很多来获取它。请删除它 setContentView(R.layout.location_map); SupportMapFragment fm = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map); googleMap = fm.getMap(); googleMap.s

我试图使用android google map v2获取当前位置。我的应用程序正在崩溃…我的代码和logcat如下。我搜索了很多来获取它。请删除它

setContentView(R.layout.location_map);
SupportMapFragment fm = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
googleMap = fm.getMap();
googleMap.setMyLocationEnabled(true);
LocationManager locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
Criteria criteria = new Criteria();
String bestProvider = locationManager.getBestProvider(criteria, true);
Location location = locationManager.getLastKnownLocation(bestProvider);
double currentlatitude = location.getLatitude();
double currentlongitude = location.getLongitude();
locationManager.requestLocationUpdates(bestProvider, 20000, 0, this);
CURRENT_LOCATION = new LatLng(currentlatitude, currentlongitude);
我的原木猫如下

04-24 17:58:33.681: I/x(17640): Making Creator dynamically
04-24 17:58:33.691: W/dalvikvm(17640): Refusing to reopen boot DEX '/system/framework/com.android.location.provider.jar'
04-24 17:58:33.711: I/Google Maps Android API(17640): Google Play services client version: 6587000
04-24 17:58:33.721: I/Google Maps Android API(17640): Google Play services package version: 7329032
04-24 17:58:33.922: D/AbsListView(17640): Get MotionRecognitionManager
04-24 17:58:34.172: I/dalvikvm(17640): Could not find method android.content.pm.PackageManager.getPackageInstaller, referenced from method com.google.android.gms.common.hg.a
04-24 17:58:34.172: W/dalvikvm(17640): VFY: unable to resolve virtual method 449: Landroid/content/pm/PackageManager;.getPackageInstaller ()Landroid/content/pm/PackageInstaller;
04-24 17:58:34.172: D/dalvikvm(17640): VFY: replacing opcode 0x6e at 0x000d
04-24 17:58:34.212: D/AndroidRuntime(17640): Shutting down VM
04-24 17:58:34.212: W/dalvikvm(17640): threadid=1: thread exiting with uncaught exception (group=0x41b53c08)
04-24 17:58:34.222: E/AndroidRuntime(17640): FATAL EXCEPTION: main
04-24 17:58:34.222: E/AndroidRuntime(17640): Process: com.ambilobes.flowbornprivilege, PID: 17640
04-24 17:58:34.222: E/AndroidRuntime(17640): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.ambilobes.flowbornprivilege/com.ambilobes.flowbornprivilege.LocationFinder}: java.lang.NullPointerException
04-24 17:58:34.222: E/AndroidRuntime(17640):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2400)
04-24 17:58:34.222: E/AndroidRuntime(17640):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2458)
04-24 17:58:34.222: E/AndroidRuntime(17640):    at android.app.ActivityThread.access$900(ActivityThread.java:172)
04-24 17:58:34.222: E/AndroidRuntime(17640):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1305)
04-24 17:58:34.222: E/AndroidRuntime(17640):    at android.os.Handler.dispatchMessage(Handler.java:102)
04-24 17:58:34.222: E/AndroidRuntime(17640):    at android.os.Looper.loop(Looper.java:146)
04-24 17:58:34.222: E/AndroidRuntime(17640):    at android.app.ActivityThread.main(ActivityThread.java:5598)
04-24 17:58:34.222: E/AndroidRuntime(17640):    at java.lang.reflect.Method.invokeNative(Native Method)
04-24 17:58:34.222: E/AndroidRuntime(17640):    at java.lang.reflect.Method.invoke(Method.java:515)
04-24 17:58:34.222: E/AndroidRuntime(17640):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)
04-24 17:58:34.222: E/AndroidRuntime(17640):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)
04-24 17:58:34.222: E/AndroidRuntime(17640):    at dalvik.system.NativeStart.main(Native Method)
04-24 17:58:34.222: E/AndroidRuntime(17640): Caused by: java.lang.NullPointerException
04-24 17:58:34.222: E/AndroidRuntime(17640):    at com.ambilobes.flowbornprivilege.LocationFinder.onCreate(LocationFinder.java:61)
04-24 17:58:34.222: E/AndroidRuntime(17640):    at android.app.Activity.performCreate(Activity.java:5459)
04-24 17:58:34.222: E/AndroidRuntime(17640):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093)
04-24 17:58:34.222: E/AndroidRuntime(17640):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2364)
04-24 17:58:34.222: E/AndroidRuntime(17640):    ... 11 more
04-24 18:03:34.285: I/Process(17640): Sending signal. PID: 17640 SIG: 9
04-24 18:03:34.665: E/Qmage(17959): onDecode : QmageDecodeFrame 20140421 

这显然与谷歌地图v2 API无关

RuntimeException:无法启动活动组件信息{com.ambilobes.flowbornprivilege/com.ambilobes.flowbornprivilege.LocationFinder}:java.lang.NullPointerException

您得到了自己的
NullPointerException
。让我们来看看:

原因:java.lang.NullPointerException

位于com.ambilobes.flowbornprivilege.LocationFinder.onCreate(LocationFinder.java:61)


查看LocationFinder.java:61,你会发现你的问题。

如果你的要求只是找到位置,你不需要使用Google Maps v2@Jayesh Elamgodi,我需要使用mapv2,请告诉我
getLastKnownLocation()
可以很容易地返回
null
。您没有检查
null
并处理该情况。如果igetLastKnownLocation()为null,则如何获取当前位置我没有获取第61行的当前纬度。你可以在安卓上面看到这句话,我也从来没说过你是。Logcat说你有个例外。。。你介意把密码寄出去吗?如果有,请告诉我们哪一行是第61行好吗?.double currentlatitude=location.getLatitude();第61Ok@Javad行,Logcat和我告诉您,在这一行中,61
double currentlatitude=location.getLatitude()
location
实际上是
null
位置管理器。getLastKnownLocation(bestProvider)返回一个
null
位置。如果最后一个已知位置不可用,您应该在处理它之前检查它是否为
null
。谷歌地图API v2运行良好。