2013-07-04 2 views
4

내 응용 프로그램에서 내 도메인이나 메일로 오류 보고서를 보내려고했지만 여전히 실패했습니다. 을 마무리 -ACRA를 사용하여 Android 크래시 보고서를 보내는 방법

checkAndSendReports이

는-approved.stacktrace00 I 파일 전송

@ReportsCrashes (

 formKey = "", 
     mailTo = "[email protected]" 
) 

그리고 응답이, 했다, 메일에서 충돌 보고서를 얻으려면

내 도메인에서 오류 보고서를 가져 오려면

012 오류 FORM를 전송하는 동안 : 3,516,

@ReportsCrashes (

 formKey = "", 
     formUri = "http://www.abc.com/test1" 
) 

그리고 응답은 보내기 파일 1,372,856,882,000 - approved.stacktrace 는 1,372,856,882,000 - approved.stacktrace org.acra.sender.ReportSenderException에 대한 충돌 보고서를 보내지 못했습니다이다 HTTP POST를 통해 보고서

도움이 될 것입니다 내게 도움이되고 감사하겠습니다. 당신은 아마 토스트 부분을 잊고

@ReportsCrashes(mailTo = "[email protected]", // my email here 
       mode = ReportingInteractionMode.TOAST, 
       resToastText = R.string.crash_toast_text) 

https://github.com/ACRA/acra/wiki/Report-Destinations#sending-reports-by-email

: 그들의 문서에서 말하는 것처럼 내가 정확히 수행 할 때

답변

23

ACRA는 나에게 전자 메일로 보고서를 보내 작동합니다. 또는 전자 메일 프로그램이 없을 수도 있습니다 (예 : 시뮬레이터에서 실행 중일 때).

Google 워드 프로세서로 보고서를 보내는 것이 더 이상 지원되지 않는다고 생각합니다.

+1

나는 내게 잘 작동하는 내 응용 프로그램에서 acra를 실행하려고합니다. 그러나 문제는 내가 거기에서 어떤 이메일도받지 못했다는 것입니다. 제발 도와주세요 – Satheesh

1

아니, 알렉스 모드 속성은보고 유형에는 releation이없는, 말을 싫어, 당신이 흔한 유형을 사용하여 github에 에 소스 코드를 볼 수 있습니다, 당신은해야 확인하십시오 :

  1. 앱에 네트워크 연결 권한이 있습니다.
  2. Alex가 말한 것처럼 장치에 전자 메일 프로그램이 있습니다.
  3. 응용 프로그램의 oncreate()에서 ACRA.init (this) 메서드를 호출 했습니까?

이러한 모든 작업을 완료했다면 앱을 실행하면 사용자 이름과 비밀번호 등의 이메일을 구성해야합니다.

+1

저는 앱이 ACRA에 의한 리포트를 메일로 보내기위한 인터넷 허가를 가지고 있다고 생각하지 않습니다. –

+0

네, 맞습니다. 인터넷 허가가 필요하지 않습니다. 다시 시도해 보니, formKey가 null이 아니어야합니다. null 인 경우, 앱이 추락했을 때, 안드로이드 시스템이 이메일 프로그램을 선택하더라도 처리 할 프로그램을 선택하라는 대화 상자를 표시합니다. 그것은 여전히 ​​이메일을 보내지 않을 것입니다. – user2327225

+0

게다가, 모드 속성이 필요하지 않습니다, 당신이 그것을 구성하면, 당신이 응용 프로그램이 추락했을 때, 시스템 충돌 창이 팝업되지 않습니다 – user2327225

1

응용 프로그램 클래스는 다음과 같아야합니다.

import android.app.Application; 

    import org.acra.ACRA; 
    import org.acra.ReportField; 
    import org.acra.ReportingInteractionMode; 
    import org.acra.annotation.ReportsCrashes; 


    @ReportsCrashes(mailTo = "[email protected]", customReportContent = { 
      ReportField.APP_VERSION_CODE, ReportField.APP_VERSION_NAME, 
      ReportField.ANDROID_VERSION, ReportField.PHONE_MODEL, 
      ReportField.CUSTOM_DATA, ReportField.STACK_TRACE, ReportField.LOGCAT}, 
      mode = ReportingInteractionMode.TOAST, resToastText = R.string.crash_toast_text) 
    public class MyApplication extends Application { 

     @Override 
     public void onCreate() { 
      super.onCreate(); 
      ACRA.init(this); 
     } 
    }