2012-07-04 3 views
0

하나의 응용 프로그램을 구현 중입니다.broadcastreceiver에서 이메일을 보내는 방법은 무엇입니까?

이 내 응용 프로그램을 바탕으로 내가 만든 클래스는

내 RepeatingAlarm 클래스는 broadcastrecevers를 확장 "RepeatingAlarm.java"라는입니다.

나는 매시간 위의 클래스를 호출하고 있습니다. 이 클래스는 내가 SDCARD에서 파일을 얻을 이메일을 통해이 파일을 보낼

를 호출 할 때

내 요구 사항입니다.

아무도 해결책을 알고 있다면 저를 도우십시오.

미리 감사드립니다.

+0

에 따라 사용합니다. –

+0

나는 스팸 애플리케이션을 만들고 있다고 생각하는데, 나는 당신을 도울 수 없다. –

+0

어떤 파일을 이메일로 보내시겠습니까? – Manikandan

답변

3

BroadcastReceiver의 수신 방법에 다음을 추가합니다.

File file= new File(Environment.getExternalStorageDirectory() 
        + "/filefolder/"+"filename"); 
Uri u1 = null; 
u1 = Uri.fromFile(file); 

Intent sendIntent = new Intent(android.content.Intent.ACTION_SEND); 
sendIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Sending a file"); 
sendIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[] 
     {"[email protected]"}); 
sendIntent.putExtra(Intent.EXTRA_STREAM, u1); 
sendIntent.setType("text/html"); 
context.startActivity(Intent.createChooser(sendIntent , "Send mail...")); 
+0

그는 broadcastrecevers 클래스로 메일을 보내려고합니다. 귀하의 코드는 이것에 완벽합니다? –

+0

만약 내가 이것을 시도하고있다면 07-04 15 : 41 : 52.734 : ERROR/AndroidRuntime (24581) : java.lang.RuntimeException : 수신기를 시작할 수 없다 com.yqlabs.Tam.MultiAlarm : android.util.AndroidRuntimeException : Activity 컨텍스트 외부에서 startActivity()를 호출하려면 FLAG_ACTIVITY_NEW_TASK 플래그가 필요합니다. 이게 니가 원하는거야? – kiran

+1

add sendIntent.addFlags (Intent.FLAG_ACTIVITY_NEW_TASK); 마지막 줄 앞에. – Manikandan

1

Gmail 계정을 사용하여 백그라운드 이메일을 첨부 파일과 함께 전송하는 완전한 예입니다. 당신이 ZipUtility 클래스를 필요로하지 않는 경우 Send email with attachment using GMAIL account.

, 그것을 제거하고 간단하게 이메일을 보내기위한 IntentService를 만들고 broadcastrecevers에서 시작하여 필요

+0

u'r 예제가 좋다. 텍스트 파일을 보내고 싶다. – kiran

+0

예 가능합니다. ('/ mnt/sdcard/myfile.txt' 경로와 함께) 텍스트 파일이'MailSenderActivity'에서'm.addAttachment ("/ mnt/sdcard/telfaz-logs.zip"); 행을 대체하십시오. m.addAttachment ("/ mnt/sdcard/myfile.txt");'그리고 다시 시도하십시오 – sunil

+0

@kiran 내 예제를 테스트 할 수 있었습니까? – sunil

관련 문제