ACRA Mailer 没有给我共享文件 window in Android 10

ACRA Mailer not giving me share file as window in Android 10

我在 React Native 0.61.2 中使用 ACRA 5.5.1。我正在使用 Dailog + Mailer 功能来发送崩溃报告。

@AcraCore(buildConfigClass = BuildConfig.class,
    reportFormat = StringFormat.JSON)
@AcraMailSender(mailTo = "email",
   resSubject = R.string.acra_mail_subject,
   reportFileName = "ErrorReport",
   reportAsFile = true)
@AcraToast(resText = R.string.acra_toast_text)
public class MainApplication extends Application implements ReactApplication {

@Override
protected void attachBaseContext(Context base) {
    super.attachBaseContext(base);
    CoreConfigurationBuilder builder = new CoreConfigurationBuilder(this)
            .setBuildConfigClass(BuildConfig.class)
            .setReportFormat(StringFormat.JSON);
    builder.getPluginConfigurationBuilder(ToastConfigurationBuilder.class)
            .setResText(R.string.acra_toast_text);
   builder.getPluginConfigurationBuilder(MailSenderConfigurationBuilder.class)
           .setMailTo("email")
           .setResSubject(R.string.acra_mail_subject)
           .setReportFileName("ErrorReport")
           .setReportAsFile(true);
    ACRA.init(this, builder);
}}

现在,当我在 android 5.0 中使用 APK 时,每次我的应用程序崩溃时,它都会在底部打开一个小 window 以通过电子邮件共享报告。下图显示了 Android 5.0 中弹出的共享选项,Phone 是 Sony Xperia E2362。

但是当我在Android10中使用APK时,phonexiaomi poco f1。它没有显示任何 window 来共享文件。 但是在我安装我的应用程序后,小米立即扫描该应用程序并提供一个打开它的选项。当我从 window 打开应用程序时,我会在应用程序崩溃后通过电子邮件弹出窗口收到该共享报告。 但不是当我通常从应用程序菜单打开我的应用程序时。 下图显示了应用程序扫描 window,其中显示了打开应用程序的选项,第二张图片显示了当我使用扫描 window 打开应用程序时通过电子邮件发送的共享报告。

我不知道我错过了什么。请帮忙。

在 github 上与其他人交谈并转到 logcat 日志后,我发现小米 phone 阻止了弹出窗口。因此,应用程序需要获得在后台 运行 时显示弹出窗口 windows 的权限。

因此,解决方案是,当应用启动时通知用户授予弹出窗口权限 window,而在后台 运行。