2016-10-14 4 views
2

ACRA를 사용하여 응용 프로그램에서 처리되지 않은 예외를보고하려고합니다.이메일을 통한 Acra보고

권한을 준 :

<uses-permission android:name="android.permission.READ_LOGS"/> 
<uses-permission android:name="android.permission.INTERNET" /> 
<application 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:supportsRtl="true" 
    android:theme="@style/AppTheme" 
    android:name=".MyApplication"> 

Gradle을 :

: 내 로그인 버튼에서
package online.hannuveda.transafe_rx; 

import org.acra.*; 
import org.acra.annotation.*; 
import android.support.multidex.MultiDexApplication; 


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

public class MyApplication extends MultiDexApplication 
{ 
    @Override 
    public void onCreate() { 
     super.onCreate(); 
     ACRA.init(this); 
    } 
} 

, 내가 의도적으로이를 사용하여 예외를 만드는 오전

compile 'ch.acra:acra:4.9.0' 

확장 응용 프로그램 클래스

public void Login_Click(View v) 
{ 

    int i = 12/0; 
} 

이 예외가 발생하면 토스트가 표시되고 앱이 다운되지만받은 편지함에는 이메일이 표시되지 않습니다. 어떤 생각이 잘못 됐습니까?

+2

'formUri = "", '을 제거하고 다시 시도하십시오. –

+0

시드 : 전자 메일 보고서가 작동하려면 사용 권한이 필요하지 않습니다. – F43nd1r

답변

2

formUri = ""을 제거하고 다시 시도하십시오. 둘 다 formUrimailTo을 전달하는 경우

, 먼저 엔드 포인트 ""에 HTTP를 통해 그것을 보내려고하고 어떤 인터넷 권한이없는 경우에 대체로 mailTo을 사용하지만 그것은 단지에 시도 할 수 있도록 권한이 할 ""으로 보내면 메일을 보내지 않습니다.

0

먼저 formUri을 제거하십시오. formUri 외에도 mailTo를 사용하면 충돌 당시 인터넷이없는 경우 전자 메일을 보냅니다. 또한

,이 권한 :

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

는 일부 애플 리케이션을 위해, 그리고 당신이 그것을 사용하기 위해 적용해야 생각합니다. 최신 버전의 Android에서는 더 이상 권한이 필요하지 않습니다.

관련 문제