Acra使用电子邮件进行报告

4

我正在尝试使用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;
}

当出现此异常时,我看到了提示,但应用程序崩溃了,而我的收件箱中没有看到任何电子邮件。您有什么想法是出了什么问题?

2
请删除 formUri = "", 并重试。 - Tim
附注:这两个权限都不是必需的,才能让电子邮件报告工作。 - F43nd1r
你找到解决办法了吗?我也收到了一封空白的电子邮件,而不是异常报告。 - Simone
2个回答

4

删除formUri = "",然后再试一次。

如果同时传递formUrimailTo,它将首先尝试通过HTTP发送到端点"",并在没有Internet权限的情况下使用mailTo作为后备,但您拥有该权限,因此仅尝试将其发送到"",并且不会尝试发送邮件。


1

首先,删除formUri。当您在崩溃时使用mailTo而不是formUri时,如果没有互联网连接,它会发送电子邮件。

此外,这个权限:

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接