Как я могу отправить логи аварии на мою электронную почту? - PullRequest
0 голосов
/ 27 ноября 2018

Я просмотрел весь Интернет и не нашел ни одного хорошего и эффективного способа отправки журналов фатальных сбоев на свою электронную почту.В общем, я стараюсь отправлять логи любого сбоя, и мне нужно найти действительно хороший способ.Например я видел такой вариант:

private void SendLogcatMail(Throwable e) {
        String stackTrace = Log.getStackTraceString(e);
        Intent emailIntent = new Intent(Intent.ACTION_SEND);
        emailIntent.putExtra(Intent.EXTRA_EMAIL, new String[]{"*****@gmail.com"});
        emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Problem with your application");
        emailIntent.putExtra(Intent.EXTRA_TEXT, stackTrace);
        try {
            emailIntent.setType("application/octet-stream");
            context.startActivity(Intent.createChooser(emailIntent, "Send mail..."));
        } catch (android.content.ActivityNotFoundException ex) {
            Toast.makeText(context.getApplicationContext(), "There are no email clients installed.", Toast.LENGTH_SHORT).show();
        }
    }

, где я должен вызывать этот метод с кодом исключения.Я не нашел хорошего способа обработки исключений и ошибок и отправки их в мой почтовый ящик.Может быть, кто-то видел какой-то хороший вариант решения моей проблемы.Я буду рад видеть это.Спасибо !!!

Ответы [ 2 ]

0 голосов
/ 27 ноября 2018

Вы можете воспользоваться услугой http://fabric.io.В этом случае вы будете автоматически получать сбои с журналами и всей информацией об устройстве.

Stacktrace будет там.

Это большой сервис с такой частью, как crashlytics .

0 голосов
/ 27 ноября 2018

Вы можете использовать ACRA .Его легко настроить.

Похоже на это

@ReportsCrashes(mailTo = "yourmail",
        customReportContent = {
                ReportField.LOGCAT},
        mode = ReportingInteractionMode.SILENT,
        resToastText = "Crash Report")
public class ApplicationClass extends Application
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...