2013-08-25 5 views
1

Я пишу смс application.this приложение добавляет контакты в базе данных, и когда получил смс, он удаляется в почтовом ящике и добавил для моей базы данных,как удалить уведомление получать SMS в андроиде

моего код:

@Override 
public void onReceive(Context context, Intent intent) { 
// TODO Auto-generated method stub 

db_contact = new DatabaseContact(context); 
db_sms = new DatabaseSMS(context); 

Bundle bundle = intent.getExtras(); 
SmsMessage[] msgs = null; 
String str = "", str2 = ""; 
if (bundle != null) { 
    // ---retrieve the SMS message received--- 
    Object[] pdus = (Object[]) bundle.get("pdus"); 
    msgs = new SmsMessage[pdus.length]; 
    for (int i = 0; i < msgs.length; i++) { 
     msgs[i] = SmsMessage.createFromPdu((byte[]) pdus[i]); 

     str = msgs[i].getMessageBody().toString(); 

     str2 = msgs[i].getOriginatingAddress(); 
    } 
    // ---display the new SMS message--- 
    Log.e("", str2); 
    db = db_contact.getReadableDatabase(); 
    Cursor cursors = db.rawQuery("select * from " + db_contact.TABLE 
      + " where tel='" + str2 + "' ", null); 
    for (int i = 0; i < cursors.getCount(); i++) { 
     cursors.moveToNext(); 

     String name = cursors.getString(cursors.getColumnIndex("name")); 
     String tel = cursors.getString(cursors.getColumnIndex("tel")); 
     Log.e("Add to database : ", name + " ,tel " + tel); 
     db_sms.AddRow(name, tel, str); 

     Uri uriSms = Uri.parse("content://sms"); 
     Cursor c = context.getContentResolver().query(uriSms, null, 
       null, null, null); 
     if (c.moveToNext()) { 
      int id = c.getInt(0); 
      int thread_id = c.getInt(1); // get the thread_id 
      context.getContentResolver().delete(
        Uri.parse("content://sms/conversations/" 
          + thread_id), null, null); 

     } 

    } 

} 
} 

Как удалить уведомление при получении смс? Как управлять уведомлением в приложении?

благодаря

ответ

2

Не совсем уверен, что это вопрос, но если вы случайно хотите удалить уведомление, то, ну, не размещать в первом месте. Если вы хотите отключиться в других приложениях, вы можете сообщить своим пользователям, что они отключат это уведомление в настройках других приложений.

0

Удаление уведомления

Уведомления остаются видимыми, пока один из следующих не происходит:

  • Пользователь отклоняет уведомление либо по отдельности, либо с помощью «Clear All» (если уведомление может быть очищен).
  • Пользователь нажимает уведомление, и вы вызывали setAutoCancel(), когда вы создали уведомление.
  • Вы вызываете cancel() для определенного идентификатора уведомления. Этот метод также удаляет текущие уведомления.
  • Вы вызываете cancelAll(), который удаляет все уведомления, которые вы уже опубликовали .
Смежные вопросы