我想从电话查询通话记录详细信息,我的查询如下
Cursor groupCur = mcontext.getContentResolver().query(Calls.CONTENT_URI,
CallLogAdapter.PROJECTION, Calls.NUMBER + " = " + number, null,Calls.DEFAULT_SORT_ORDER);
CallLogAdapter.PROJECTION 包含通话记录的一些字段(列)。
它工作正常,但在以下条件下,它会强制关闭。
条件:-如果拨打的号码以 * 或 # 开头(例如:*1234567 或 #123457)并且号码以 * 结尾(例如:1234567*)
**ERROR LOG:**
10-14 14:54:50.425:INFO/Database(26307):sqlite 返回:错误代码 = 1,msg = 接近语法错误 10-14 14:54:50.429:错误/DatabaseUtils(26307):将异常写入包裹 10 -14 14:54:50.429: ERROR/DatabaseUtils(26307): android.database.sqlite.SQLiteException: near "*": 语法错误: , 编译时: SELECT _id, number, name, date, duration, new, type FROM调用 WHERE (number = *674088888) ORDER BY date DESC 10-14 14:54:50.429: ERROR/DatabaseUtils(26307): at android.database.sqlite.SQLiteCompiledSql.native_compile(Native Method) 10-14 14:54:50.429 :错误/DatabaseUtils(26307):在 android.database.sqlite.SQLiteCompiledSql.compile(SQLiteCompiledSql.java:92)10-14 14:54:50.429:错误/DatabaseUtils(26307):在 android.database.sqlite.SQLiteCompiledSql。 (SQLiteCompiledSql.java:65) 10-14 14:54:50.429:错误/DatabaseUtils(26307): 在 android.database.sqlite.SQLiteProgram.(SQLiteProgram.java:83) 10-14 14:54:50.429: 错误/DatabaseUtils(26307): 在 android.database.sqlite.SQLiteQuery.(SQLiteQuery .java:49) 10-14 14:54:50.429: 错误/DatabaseUtils(26307): 在 android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:42) 10-14 14:54:50.429: 错误/DatabaseUtils (26307): 在 android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1356) 10-14 14:54:50.429: 错误/DatabaseUtils(26307): 在 android.database.sqlite.SQLiteQueryBuilder.query(SQLiteQueryBuilder. java:330) 10-14 14:54:50.429: 错误/DatabaseUtils(26307): 在 com.android.providers.contacts.CallLogProvider.query(CallLogProvider.java:129) 10-14 14:54:50.429: 错误/ DatabaseUtils(26307):在 android.content。ContentProvider$Transport.bulkQuery(ContentProvider.java:174) 10-14 14:54:50.429: 错误/DatabaseUtils(26307): 在 android.content.ContentProviderNative.onTransact(ContentProviderNative.java:111) 10-14 14:54: 50.429: 错误/DatabaseUtils(26307): 在 android.os.Binder.execTransact(Binder.java:320) 10-14 14:54:50.429: 错误/DatabaseUtils(26307): 在 dalvik.system.NativeStart.run(Native方法)10-14 14:54:50.429:DEBUG/AndroidRuntime(27470):关闭 VM 10-14 14:54:50.429:WARN/dalvikvm(27470):threadid=1:线程退出时未捕获异常(组=0x40015560 ) 10-14 14:54:50.433: ERROR/AndroidRuntime(27470): FATAL EXCEPTION: main 10-14 14:54:50.433: ERROR/AndroidRuntime(27470): android.database.sqlite.SQLiteException: near "*":语法错误: , 编译时: SELECT _id, number, name, date, duration, new,类型 FROM 调用 WHERE (number = *674088888) ORDER BY date DESC 10-14 14:54:50.433: ERROR/AndroidRuntime(27470): at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:158) 10-14 14: 54:50.433: 错误/AndroidRuntime(27470): 在 android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:114) 10-14 14:54:50.433: 错误/AndroidRuntime(27470): 在 android.content.ContentProviderProxy.bulkQueryInternal (ContentProviderNative.java:330) 10-14 14:54:50.433: 错误/AndroidRuntime(27470): 在 android.content.ContentProviderProxy.query(ContentProviderNative.java:366) 10-14 14:54:50.433: 错误/AndroidRuntime (27470): 在 android.content.ContentResolver.query(ContentResolver.java:262)database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:158) 10-14 14:54:50.433: 错误/AndroidRuntime(27470): 在 android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:114) 10-14 14:54: 50.433: 错误/AndroidRuntime(27470): 在 android.content.ContentProviderProxy.bulkQueryInternal(ContentProviderNative.java:330) 10-14 14:54:50.433: 错误/AndroidRuntime(27470): 在 android.content.ContentProviderProxy.query(ContentProviderNative .java:366) 10-14 14:54:50.433: 错误/AndroidRuntime(27470): 在 android.content.ContentResolver.query(ContentResolver.java:262)database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:158) 10-14 14:54:50.433: 错误/AndroidRuntime(27470): 在 android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:114) 10-14 14:54: 50.433: 错误/AndroidRuntime(27470): 在 android.content.ContentProviderProxy.bulkQueryInternal(ContentProviderNative.java:330) 10-14 14:54:50.433: 错误/AndroidRuntime(27470): 在 android.content.ContentProviderProxy.query(ContentProviderNative .java:366) 10-14 14:54:50.433: 错误/AndroidRuntime(27470): 在 android.content.ContentResolver.query(ContentResolver.java:262)错误/AndroidRuntime(27470): 在 android.content.ContentProviderProxy.bulkQueryInternal(ContentProviderNative.java:330) 10-14 14:54:50.433: 错误/AndroidRuntime(27470): 在 android.content.ContentProviderProxy.query(ContentProviderNative.java :366) 10-14 14:54:50.433: 错误/AndroidRuntime(27470): 在 android.content.ContentResolver.query(ContentResolver.java:262)错误/AndroidRuntime(27470): 在 android.content.ContentProviderProxy.bulkQueryInternal(ContentProviderNative.java:330) 10-14 14:54:50.433: 错误/AndroidRuntime(27470): 在 android.content.ContentProviderProxy.query(ContentProviderNative.java :366) 10-14 14:54:50.433: 错误/AndroidRuntime(27470): 在 android.content.ContentResolver.query(ContentResolver.java:262)
谁能帮我。