2012-03-20 94 views
-1

我正在使用我自己的應用程序訪問Gmail電子郵件的應用程序,但我無法通過他們的ID刪除這些電子郵件。我怎樣才能做到這一點?以編程方式刪除Gmail電子郵件

delete.setOnClickListener(new OnClickListener() { 

    @Override 
    public void onClick(View arg0) { 
     // TODO Auto-generated method stub 
     try { 
      Uri uri = Uri.parse((new StringBuilder()).append(
       "content://gmail-ls/messages/").append(account_name).append("/").append(mail_id).toString()); 
      getContentResolver().delete(uri, null, null); 
      Toast.makeText(cont, "Deleted", Toast.LENGTH_SHORT).show(); 

      // getContentResolver().delete(
      // Uri.parse("content://gmail-ls/conversations/" 
      // + account_name + "/" + mail_id + ""), null, 
      // null); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 

}); 
+2

你的問題是什麼? – njzk2 2012-03-20 13:53:24

+0

問題是,我能夠以編程方式在我的應用程序中訪問Gmail,但我無法使用上面給出的代碼將它們刪除。此代碼取自gmail.java的delete method.please給我一個解決方案,它將能夠刪除我們自己的應用程序中的Gmail。 – 2012-03-21 06:08:43

回答

2

除了無論您的問題似乎是(你沒有指定,但它聽起來像是你可以閱讀郵件?),你真的不能依靠這個功能。

的最後一個版本,其工作原理是2.3.4.1 參見:http://groups.google.com/a/googleproductforums.com/forum/#!category-topic/gmail/reading-and-receiving-messages/XD0C4sw9K7U

在不久的將來,我們要做出改變,這可能會影響您的 應用。從歷史上看,Gmail應用已經公開了一個未公開的內容提供商 ,受非公開權限值保護, 允許用戶授予用戶閱讀用戶電子郵件的權限, 也執行實時查詢。作爲我們不斷努力提高Gmail安全級別的一部分,我們已確定此 API不符合現代安全標準。因此,我們將 在運行 Froyo及更高版本的Android設備上的Gmail的下一次更新中禁用它。

其次,我不認爲這種方法更多,然後只是read權限。

+0

然後有什麼辦法解決這個問題? – 2012-03-21 06:56:47

+0

是和不是。您需要執行OAuth舞蹈,然後使用IMAP訪問收件箱(您也需要將其打開)或POP。不是很容易,但可行 – Nanne 2012-03-21 09:46:40

+0

旁註:對於閱讀,有一個更容易實現的gmail原子提要(您不需要任何imap/pop郵件代碼),但這只是未讀郵件的提要,不是非常有用在我的應用程序中刪除 – Nanne 2012-03-21 09:54:16

相關問題