-1

最近、Android アプリケーション用の新しい API キーを生成しましたが、Google マップを使用するアプリの一部を使用しようとすると、常にクラッシュし続けます。

問題が何であるかを誰かが知っていますか?

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" />

わかりました、間違いなく私のロケーションマネージャーが私の場所を取得していません。

どんな助けでも大歓迎です。私はストレスを感じています。

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 に答える