Я хочу сравнить входящие sms-номера с сохраненным номером базы данных. если они такие же, то показывают тост. Он отлично работает для простых чисел вроде 9 или любых других, но не с оператором +.Строка, начинающаяся с оператора +, не совпадает с базой данных Значение строки
Когда мы получили сообщение от числа, оно состоит из кода страны, например, для Пакистана + 92XXXXXXXXXX. Я сохранил его в базе данных, но когда сообщение получено с тем же номером, оно не совпадает.
Я проверил эмулятор, он отлично работает для простого номера, такого как сообщение от 9 и т. Д., Но не с оператором +. похитить.
Ошибка обнаружено Вход: индекса 0 запрошенные с размером 0
Моей базы данных таб:
// Create statement for block_list table
public static final String CREATE_TABLE_BLOCK_LIST = "CREATE TABLE " + TABLE_BLOCK_LIST
+ "(" + ID_BLOCK_LIST + " INTEGER PRIMARY KEY AUTOINCREMENT DEFAULT 0,"
+ ORIGINATING_ADDRESS_BLOCKlIST + " TEXT,"
+ TIME_BLOCK_LIST + " TEXT)";
сравнение заявления:
// Select all Blocked Numbers
public Cursor compareToBlockList(String originatingAddress){
Cursor cursor = null;
try {
SQLiteDatabase db = this.getWritableDatabase();
cursor = db.rawQuery("SELECT " + ORIGINATING_ADDRESS_BLOCKlIST + " FROM " + TABLE_BLOCK_LIST
+ " WHERE " + ORIGINATING_ADDRESS_BLOCKlIST + "=" + originatingAddress, null);
} catch (Exception e){
Log.d("compare to Block list", " is" + e.getMessage());
}
return cursor;
}
вызова функции:
Cursor cursor = dbManagement.compareToBlockList(originatingAddress);
cursor.moveToFirst();
String number = cursor.getString(cursor.getColumnIndex(dbManagement.ORIGINATING_ADDRESS_BLOCKlIST));
Toast.makeText(context, "found", Toast.LENGTH_LONG).show();
значение базы данных:
Ошибка обнаружена Вход: индекс 0 запрошенный с размером 0
не полный, я использовал эмулятор для отправьте сообщение из +92, которое сохраняется в базе данных. Я также пробовал с полным номером, но те же ошибки происходят –
конкретный номер, который находится в базе данных. –
картинка в моем вопросе показывает базу данных \ –