2012-03-20 2 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

+0

문제는 응용 프로그램에서 프로그래밍 방식으로 Gmail에 액세스 할 수 있지만 위에 주어진 코드를 사용하여 Gmail을 삭제할 수 없다는 것입니다.이 코드는 gmail.java의 delete 메소드에서 가져온 것입니다. 우리 자신의 응용 프로그램에서 gmails를 삭제하십시오. –

답변

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

그러면이 문제를 해결할 수있는 방법이 있습니까 ?? –

+0

예, 아니요. OAuth 댄스를 한 다음 IMAP (IMAP으로 설정해야 함)이나 POP를 사용하여받은 편지함에 액세스해야합니다. 별로 쉽지는 않지만 행할 수 있습니다. – Nanne

+0

sidenote : 읽기에는 구현하기가 더 쉬운 gmail 아톰 피드가 있습니다 (imap/pop 메일 코드가 필요하지 않습니다).하지만 이것은 읽지 않은 메일의 피드 일 뿐이지별로 유용하지 않습니다. – Nanne

관련 문제