使用电子邮件进行报告



我试图使用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:

compile 'ch.acra:acra:4.9.0'

扩展应用类

package online.hannuveda.transafe_rx;
import org.acra.*;
import org.acra.annotation.*;
import android.support.multidex.MultiDexApplication;

@ReportsCrashes(formUri = "",
        mailTo = "akshaycjoshi@gmail.com",
        mode = ReportingInteractionMode.TOAST,
        resToastText = R.string.crash_toast_text)
public class MyApplication extends MultiDexApplication
{
    @Override
    public void onCreate() {
        super.onCreate();
        ACRA.init(this);
    }
}

在我的登录按钮中,我故意使用这个创建一个异常:

public void Login_Click(View v)
{
    int i = 12/0;
}

当此异常发生时,我看到祝酒词,然后应用程序崩溃,但我的收件箱中没有看到任何电子邮件。

删除formUri = "",然后重试

如果您通过formUrimailTo,它将首先尝试通过HTTP将其发送到端点"",并在没有互联网权限的情况下使用mailTo作为回退,但您确实有权限,因此它只尝试将其发送到"",并且不会尝试发送它。

首先,删除formUri。当你使用mailTo除了formUri,它发送电子邮件,如果没有互联网在崩溃的时候。

更进一步,这个权限:

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

仅适用于某些应用程序,我认为您必须申请才能使用它。在较新的Android版本中,你不再需要这个权限。

相关内容

  • 没有找到相关文章

最新更新