-1

我最近为一个 android 应用程序生成了一个新的 api 密钥,现在每当我尝试使用使用谷歌地图的应用程序的一部分时,它都会崩溃。

有人知道问题可能是什么吗?

在我更新 api 密钥之前,我根本没有更改任何代码,它可以完美地工作。

谢谢。

    05-03 00:26:20.699: E/AndroidRuntime(11859): FATAL EXCEPTION: main
05-03 00:26:20.699: E/AndroidRuntime(11859): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.menuexample/com.example.menuexample.RouteViewActivity}: java.lang.NullPointerException
05-03 00:26:20.699: E/AndroidRuntime(11859):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
05-03 00:26:20.699: E/AndroidRuntime(11859):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
05-03 00:26:20.699: E/AndroidRuntime(11859):    at android.app.ActivityThread.access$600(ActivityThread.java:141)
05-03 00:26:20.699: E/AndroidRuntime(11859):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
05-03 00:26:20.699: E/AndroidRuntime(11859):    at android.os.Handler.dispatchMessage(Handler.java:99)
05-03 00:26:20.699: E/AndroidRuntime(11859):    at android.os.Looper.loop(Looper.java:137)
05-03 00:26:20.699: E/AndroidRuntime(11859):    at android.app.ActivityThread.main(ActivityThread.java:5041)
05-03 00:26:20.699: E/AndroidRuntime(11859):    at java.lang.reflect.Method.invokeNative(Native Method)
05-03 00:26:20.699: E/AndroidRuntime(11859):    at java.lang.reflect.Method.invoke(Method.java:511)
05-03 00:26:20.699: E/AndroidRuntime(11859):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
05-03 00:26:20.699: E/AndroidRuntime(11859):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
05-03 00:26:20.699: E/AndroidRuntime(11859):    at dalvik.system.NativeStart.main(Native Method)
05-03 00:26:20.699: E/AndroidRuntime(11859): Caused by: java.lang.NullPointerException
05-03 00:26:20.699: E/AndroidRuntime(11859):    at com.example.menuexample.RouteViewActivity.setUpMap(RouteViewActivity.java:121)
05-03 00:26:20.699: E/AndroidRuntime(11859):    at com.example.menuexample.RouteViewActivity.setUpMapIfNeeded(RouteViewActivity.java:111)
05-03 00:26:20.699: E/AndroidRuntime(11859):    at com.example.menuexample.RouteViewActivity.onCreate(RouteViewActivity.java:61)
05-03 00:26:20.699: E/AndroidRuntime(11859):    at android.app.Activity.performCreate(Activity.java:5104)
05-03 00:26:20.699: E/AndroidRuntime(11859):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
05-03 00:26:20.699: E/AndroidRuntime(11859):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
05-03 00:26:20.699: E/AndroidRuntime(11859):    ... 11 more

更新:

好的,这似乎是位置管理器的问题(返回 null):

locMan = (LocationManager) getSystemService(LOCATION_SERVICE);
    Criteria criteria = new Criteria();
    provider = locMan.getBestProvider(criteria, false);
    loc = locMan.getLastKnownLocation(provider);

显现

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />

好的,这绝对是我的 locationmanager 没有得到我的位置。

任何帮助将不胜感激。我在强调。

4

2 回答 2

1

你能在 MapView 中看到网格吗?如果是,那么可能是你没有得到位置。但如果你也没有得到那个位置并且你的应用程序崩溃了,请检查你的清单以获取以下内容

<uses-library android:name=”com.google.android.maps” />
于 2013-05-03T02:30:22.920 回答
0

getLastKnownLocation通常可以返回null。在这种情况下,您应该使用requestLocationUpdates

于 2013-05-03T14:56:46.453 回答