【问题标题】:Android - How to programmatically set USER_EMAIL in Acra crash report?Android - 如何在 Acra 崩溃报告中以编程方式设置 USER_EMAIL?
【发布时间】:2015-01-15 14:03:38
【问题描述】:

如果应用崩溃,我的应用使用 ACRA 发送静默通知。

official documentation 显示如何在 XML 中设置用户电子邮件,this SO question 显示如何通过注释进行设置,但我如何在代码中设置用户电子邮件地址?

假设我已经朝着正确的方向开始,这就是我所掌握的......

ACRA.init(this);
ACRAConfiguration acraConfig = ACRA.getConfig();
//acraConfig.howToSetUserEmail???

更新

感谢 323go 的帮助,这里是工作代码:

import org.acra.*;
import org.acra.annotation.ReportsCrashes;
import android.app.Application;
import android.content.Context;

@ReportsCrashes(
    formKey = "", // This is required for backward compatibility but not used
    formUri = "http://example.com/crash-reports/my-script-which-emails-me-the-acra-data.php",
    sharedPreferencesName = "THE_NAME_OF_MY_SHARED_PREFS_FILE",
    sharedPreferencesMode = Context.MODE_PRIVATE
)
public class MyApplication extends Application {

    @Override
    public void onCreate() {
        super.onCreate();

        // The following line triggers the initialization of ACRA
        ACRA.init(this);

    }

}

然后,在我的应用程序的其他地方,我以类似于下面接受的答案所示的方式设置 acra.user.email 首选项。

【问题讨论】:

  • 为什么投反对票/这个问题有什么问题?

标签: android acra


【解决方案1】:

文档说你可以通过SharedPreferences

getSharedPreferences().edit().putString( "acra.user.email", "your@email.com" ).commit();

应该可以解决问题。我没有对此进行测试,因为我认为在我的设置中运行时设置电子邮件地址没有多大用处。

【讨论】:

  • 这有帮助,谢谢。我将使用工作代码更新我的问题。
猜你喜欢
  • 1970-01-01
  • 2013-07-02
  • 1970-01-01
  • 2012-06-06
  • 1970-01-01
  • 2019-06-10
  • 2012-03-31
  • 1970-01-01
  • 2017-06-10
相关资源
最近更新 更多