2016-08-14 74 views
1

我想要在Android棒棒糖和棉花糖中以編程方式刪除特定聯繫人號碼的郵件。從收件箱中刪除郵件或在Android棒棒糖和棉花糖中以編程方式發送

我使用下面的代碼讀取和刪除的郵件......但是這個代碼不實際刪除郵件:

public List<Sms> getAllSms() { 
    try { 
     List<Sms> lstSms = new ArrayList<Sms>(); 
     Sms objSms = new Sms(); 
     Uri uriSms = Uri.parse("content://sms/"); 

     Cursor c = getActivity().getContentResolver().query(uriSms, new String[]{"_id", "thread_id", "address", "person", "date", "body"}, null, null, null); 

     getActivity().startManagingCursor(c); 
     int totalSMS = c.getCount(); 
     if (c.moveToFirst()) { 
      for (int i = 0; i < totalSMS; i++) { 
       long id = c.getLong(0); 
       long threadId = c.getLong(1); 
       String address = c.getString(2); 
       String body = c.getString(5); 
       String date = c.getString(3); 

       Log.e("log>>>", 
        "0--->" + c.getString(0) + "1---->" + c.getString(1) 
          + "2---->" + c.getString(2) + "3--->" 
          + c.getString(3) + "4----->" + c.getString(4) 
          + "5---->" + c.getString(5)); 
       Log.e("log>>>", "date" + c.getString(0)); 

       if (address.equals("1234567890")) { 
        // mLogger.logInfo("Deleting SMS with id: " + threadId); 

        getContext().getContentResolver().delete(
         Uri.parse("content://sms/" + id), null, null); 

        Log.e("log>>>", "Delete success........."); 
       } 
       c.moveToNext(); 
      } 
     } else { 
      throw new RuntimeException("You have no SMS "); 
     } 
     c.close(); 
     return lstSms; 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
    return null; 
} 

清單權限:

<uses-permission android:name="android.permission.WRITE_SMS"/> 
<uses-permission android:name="android.permission.READ_SMS"/> 

請幫我向有關刪除消息。

OR

建議我的方式來做到以下幾點:

如果我在後臺兩個以上的Android版本發送短信編程那麼它不應該保存在發送文件夾或在裝置內的任何消息。

回答

4

我想以編程方式是Android Lollipop棉花糖

你需要寫一個完整的SMS客戶端刪除特定聯繫人號碼的消息。

您無法實現僅刪除API級別19和更高級別消息的應用程序。用戶不會讓您的應用成爲設備上的默認短信應用。如果您的應用程序不是默認的短信應用程序,那麼「您的應用程序無法寫信給SMS提供商進行其他操作,例如將消息標記爲草稿,將其標記爲已讀,將其刪除等。」有關更多信息,請參閱this official blog post

告訴我,如果我在後臺發送消息編程方式在上述兩個Android版本的方式。那麼它不應該保存在發送的文件夾或設備中的任何地方

決定發送的SMS消息發生在Android,用戶的默認SMS客戶端和可能的用戶之間。你沒有得到一票。

相關問題