1

即使以最基本的形式启动 MapActivity 时,我也会“检测到未关闭的光标”:

protected void onCreate(Bundle icicle) {
    super.onCreate(icicle); // <--- The Exception occurs here
    setContentView(R.layout.layout_map);
}

异常之后,地图启动并且运行良好,但是每次启动活动时的异常都让我很困扰。

例外:

04-04 12:02:22.858:W/Cursor(14122):检测到未关闭的光标 04-04 12:02:22.866:W/Cursor(14122):在 android.content.ContentResolver.query(ContentResolver.java:258) 04-04 12:02:22.866: W/Cursor(14122): at com.google.common.android.AndroidConfig.getSetting(Unknown Source) 04-04 12:02:22.866: W/Cursor(14122): at com .google.common.android.AndroidConfig.getDistributionChannelInternal(Unknown Source) 04-04 12:02:22.866: W/Cursor(14122): at com.google.common.Config.init(Unknown Source) 04-04 12:02 :22.866:W/Cursor(14122):在 com.google.common.android.AndroidConfig.(未知来源)04-04 12:02:22.866:W/Cursor(14122):在 com.google.common.android。 AndroidConfig.(Unknown Source) 04-04 12:02:22.866: W/Cursor(14122): at com.google.android.maps.MapActivity.onCreate(MapActivity.java:405) 04-04 12:02:22.866:W/Cursor(14122): 在 com.myapp.activity.MyMapActivity.onCreate(MyMapActivity.java:25) 04-04 12:02:22.874: W/Cursor(14122): 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation .java:1047) 04-04 12:02:22.874: W/Cursor(14122): 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2717) 04-04 12:02:22.874: W/Cursor(14122 ): 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2769) 04-04 12:02:22.874: W/Cursor(14122): 在 android.app.ActivityThread.access$2500(ActivityThread.java:129) 04 -04 12:02:22.874: W/Cursor(14122): 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:2117) 04-04 12:02:22.874: W/Cursor(14122): 在 android .os.Handler.dispatchMessage(Handler.java:99) 04-04 12:02:22.874: W/Cursor(14122): 在 android.os.Looper.loop(Looper.java:143) 04-04 12:02:22.874: W/Cursor(14122): 在 android.app.ActivityThread.main(ActivityThread.java:4717) 04-04 12:02:22.874: W/Cursor(14122) : 在 java.lang.reflect.Method.invokeNative(Native Method) 04-04 12:02:22.882: W/Cursor(14122): 在 java.lang.reflect.Method.invoke(Method.java:521) 04- 04 12:02:22.882: W/Cursor(14122): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858) 04-04 12:02:22.882: W/Cursor(14122) : 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 04-04 12:02:22.882: W/Cursor(14122): 在 dalvik.system.NativeStart.main(Native Method)invokeNative(本机方法)04-04 12:02:22.882:W/Cursor(14122):在 java.lang.reflect.Method.invoke(Method.java:521)04-04 12:02:22.882:W/Cursor (14122): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858) 04-04 12:02:22.882: W/Cursor(14122): 在 com.android.internal.os。 ZygoteInit.main(ZygoteInit.java:616) 04-04 12:02:22.882: W/Cursor(14122): at dalvik.system.NativeStart.main(Native Method)invokeNative(本机方法)04-04 12:02:22.882:W/Cursor(14122):在 java.lang.reflect.Method.invoke(Method.java:521)04-04 12:02:22.882:W/Cursor (14122): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858) 04-04 12:02:22.882: W/Cursor(14122): 在 com.android.internal.os。 ZygoteInit.main(ZygoteInit.java:616) 04-04 12:02:22.882: W/Cursor(14122): at dalvik.system.NativeStart.main(Native Method)主要(本机方法)主要(本机方法)

我在网上搜索但一无所获......额外信息:

  • 我使用谷歌 API 2.2
  • 在设备和 AVD 上对其进行了测试
  • 让其他地图项目使用 Google API 2.1(当然没有那个例外)
  • 我的 AndroidManifest 没有遗漏任何东西(因此在引发异常后地图开始并工作)

帮助表示赞赏!

编辑:

我更新了 Google API 级别 7 和 8(问题从 8 开始)现在它也发生在 API 级别 7 上......

绣球花帮助我注意到我的 MapActivity ( icicle ) 中的 Bundle 变量名称“标准” ( savedInstanceState ) 不同,这可能与问题有关吗?

4

2 回答 2

0

我在 2.2 设备上运行它,并没有收到任何此类错误。您的活动中是否发生了其他可能导致它的事情?也许捆绑包中的某些东西会导致 super.onCreate() 出现问题?

public class HelloGoogleMapsActivity extends MapActivity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }

    @Override
    protected boolean isRouteDisplayed() {
        // TODO Auto-generated method stub
        return false;
    }
}
于 2012-04-04T17:14:13.817 回答
0

从数据库中获得信息后,您需要关闭游标。

例子:

cursor.close();

您确定问题不存在于其他班级吗?你的代码对我来说看起来不错。

于 2012-04-04T15:39:46.730 回答