Android DatabaseObjectNotClosedException:应用程序未关闭在此打开的游标或数据库对象
当我在twitter上使用Firebase的数字时,我得到了这个例外。我用的是推特上的数字。我找到了一个解决办法,但到目前为止,什么都不管用`Android DatabaseObjectNotClosedException:应用程序未关闭在此打开的游标或数据库对象,android,database,firebase,firebase-realtime-database,Android,Database,Firebase,Firebase Realtime Database,当我在twitter上使用Firebase的数字时,我得到了这个例外。我用的是推特上的数字。我找到了一个解决办法,但到目前为止,什么都不管用` digitsButton.setCallback(new AuthCallback() { @Override public void success(DigitsSession session, String phoneNumber) { // TODO: associate the sessio
digitsButton.setCallback(new AuthCallback() {
@Override
public void success(DigitsSession session, String phoneNumber) {
// TODO: associate the session user ID with your user model
firebaseReference.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot.hasChild(phoneNumber)) {
if (!dataSnapshot.getValue(String.class).equals(phoneNumber)) {
firebaseReference.setValue(phoneNumber);
firebaseReference.removeEventListener(this);
startActivity(new Intent(LoginActivity.this, SignupActivity.class));
} else {
firebaseReference.removeEventListener(this);
startActivity(new Intent(LoginActivity.this, MainActivity.class));
}
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
@Override
public void failure(DigitsException exception) {
Log.d("Digits", "Sign in with Digits failure", exception);
}
});
结束尚未停用或关闭的光标。database=/data/user/0/com.curieo.podcast.debug/databases/google\u app\u measurement\u local.db,table=null,query=select count(1)from messages
android.database.sqlite.DatabaseObjectNotClosedException:应用程序未关闭在此打开的游标或数据库对象
位于android.database.sqlite.SQLiteCursor.(SQLiteCursor.java:104)
位于android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:50)
位于android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1346)
位于android.database.sqlite.SQLiteDatabase.rawQuery(SQLiteDatabase.java:1285)
位于com.google.android.gms.internal.zzatg.zza(未知来源)
位于com.google.android.gms.internal.zzatg.zza(未知来源)
在com.google.android.gms.internal.zzatw.zzc(未知来源)
位于com.google.android.gms.internal.zzatu.zzb(未知来源)
在com.google.android.gms.internal.zzatu.zza(未知来源)
在com.google.android.gms.internal.zzatu$4.run(未知来源)
位于java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423)
位于java.util.concurrent.FutureTask.run(FutureTask.java:237)
位于com.google.android.gms.internal.zzato$zzd.run(未知来源)
几个小时以来,我一直在讨论这个问题,无法理解它是如何导致问题的您一直在使用sqlite吗?似乎错误与此有关。这是Google/Firebase代码中的已知错误:。另请参见:@BobSnyder我该如何处理这一问题。无法理解该怎么做..?您正在查看日志,因为它被配置为检测泄漏的可关闭对象。如果泄漏导致应用程序崩溃,您必须选择了
penaltydath()
。相反,请选择penaltyLog()
,以查看日志但无异常,或禁用泄漏对象的检测。我已选择penaltyLog()
,即使存在泄漏的可关闭对象,我的代码也应正常运行。但是它没有进入onDataChange()
函数的内部@Bobsnyder您一直在使用sqlite吗?似乎错误与此有关。这是Google/Firebase代码中的已知错误:。另请参见:@BobSnyder我该如何处理这一问题。无法理解该怎么做..?您正在查看日志,因为它被配置为检测泄漏的可关闭对象。如果泄漏导致应用程序崩溃,您必须选择了penaltydath()
。相反,请选择penaltyLog()
,以查看日志但无异常,或禁用泄漏对象的检测。我已选择penaltyLog()
,即使存在泄漏的可关闭对象,我的代码也应正常运行。但是它没有进入onDataChange()
函数的内部@雪橇
Finalizing a Cursor that has not been deactivated or closed. database = /data/user/0/com.curieo.podcast.debug/databases/google_app_measurement_local.db, table = null, query = select count(1) from messages
android.database.sqlite.DatabaseObjectNotClosedException: Application did not close the cursor or database object that was opened here
at android.database.sqlite.SQLiteCursor.<init>(SQLiteCursor.java:104)
at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:50)
at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1346)
at android.database.sqlite.SQLiteDatabase.rawQuery(SQLiteDatabase.java:1285)
at com.google.android.gms.internal.zzatg.zza(Unknown Source)
at com.google.android.gms.internal.zzatg.zza(Unknown Source)
at com.google.android.gms.internal.zzatw.zzc(Unknown Source)
at com.google.android.gms.internal.zzatu.zzb(Unknown Source)
at com.google.android.gms.internal.zzatu.zza(Unknown Source)
at com.google.android.gms.internal.zzatu$4.run(Unknown Source)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at com.google.android.gms.internal.zzato$zzd.run(Unknown Source)