Я хочу запросить данные журнала звонков с телефона, мой запрос, как показано ниже
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 / База данных (26307): возвращен sqlite: код ошибки = 1, msg = ошибка синтаксиса вблизи
10-14 14: 54: 50.429: ОШИБКА / DatabaseUtils (26307): запись исключения в посылку
10-14 14: 54: 50.429: ОШИБКА / DatabaseUtils (26307): android.database.sqlite.SQLiteException: возле "*": синтаксическая ошибка: при компиляции: SELECT _id, число, имя, дата, продолжительность, новый, тип ОТ звонков ГДЕ (номер = * 674088888) ЗАКАЗАТЬ ПО ДАТЕ DESC
10-14 14: 54: 50.429: ОШИБКА / DatabaseUtils (26307): в android.database.sqlite.SQLiteCompiledSql.native_compile (собственный метод)
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 (собственный метод)
10-14 14: 54: 50.429: DEBUG / AndroidRuntime (27470): выключение виртуальной машины
10-14 14: 54: 50.429: WARN / dalvikvm (27470): threadid = 1: поток завершается с необработанным исключением (группа = 0x40015560)
10-14 14: 54: 50.433: ОШИБКА / AndroidRuntime (27470): ИСКЛЮЧИТЕЛЬНОЕ ИСКЛЮЧЕНИЕ: основное
10-14 14: 54: 50.433: ОШИБКА / AndroidRuntime (27470): android.database.sqlite.SQLiteException: возле "*": синтаксическая ошибка: при компиляции: SELECT _id, число, имя, дата, продолжительность, новый, тип ОТ звонков ГДЕ (номер = * 674088888) ЗАКАЗАТЬ ПО ДАТЕ DESC
10-14 14: 54: 50.433: ОШИБКА / AndroidRuntime (27470): в 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)
Может ли кто-нибудь мне помочь.