Как отправить отчет о сбоях приложения на почту из приложения?

Я хочу сообщить журнал при сбое приложения. И я хочу отправить этот отчет на свою почту, как я могу реализовать это, может ли кто-нибудь дать идею?

заранее спасибо


person Seshu    schedule 19.09.2013    source источник
comment
Перехватите исключение, преобразуйте в строку и отправьте ее, используя собственное намерение электронной почты.   -  person Noman    schedule 19.09.2013
comment
Вы можете посмотреть мое полное описание решения: stackoverflow.com/questions/19897628/   -  person Peri Hartman    schedule 14.11.2013


Ответы (5)


Что вам нужно, так это служба отчетов о сбоях. Вариантов слишком много: Bugsense, Flurry, TestFlight, Acralizer, Google Analytics для Android, < href="https://www.crittercism.com" rel="nofollow">криттерцизм и т. д.

person Diego Palomar    schedule 19.09.2013

Просто попробуйте это...

 Process process = Runtime.getRuntime().exec("logcat -e");
    BufferedReader bufferedReader = new BufferedReader(
    new InputStreamReader(process.getInputStream()));
    StringBuilder log=new StringBuilder();
    String line = "";
    while ((line = bufferedReader.readLine()) != null) {
     log.append(line);
    }

теперь почтовая строка строки с использованием намерений...

    Intent email = new Intent(Intent.ACTION_SEND);
    email.putExtra(Intent.EXTRA_EMAIL, new String[]{"[email protected]"});          
    email.putExtra(Intent.EXTRA_SUBJECT, "Crash Report");
    email.putExtra(Intent.EXTRA_TEXT, line);
    email.setType("message/rfc822");
    startActivity(Intent.createChooser(email, "Choose an Email client :"));

используйте эту ссылку больше помощи....

http://www.coderzheaven.com/2011/07/16/how-to-read-logcat-contents-programmatically-in-android/

person Anil kumar    schedule 19.09.2013
comment
Спасибо, Анил Кумар, но я не хочу переходить к электронной почте. Я хочу, чтобы, когда произойдет принудительное закрытие, приложение напрямую отправило письмо разработчику. - person Seshu; 19.09.2013
comment
Я думаю, что это не очень хорошая идея, потому что, как только произойдет сбой, приложение закроется. Итак, как вы можете отправить почту из приложения? Но вы все равно можете это сделать, просто перейдите по этой ссылке stackoverflow.com/questions /4668871/ - person Anil kumar; 19.09.2013

Конечно, это хорошая идея, чтобы перехватить все исключения и отправить их с помощью собственной электронной почты, но это пример приложения, с помощью которого вы можете собирать выходные данные logcat и отправлять их по электронной почте или в сообщениях.

https://code.google.com/p/android-log-collector/

Вы также можете получить некоторые ссылки здесь

http://l6n.org/android/sendlog.shtml

person Mukesh Kumar Singh    schedule 19.09.2013

При использовании Crittercism они предоставляют возможность получить моментальный снимок logcat при сбое. отчет.

Посмотрите, как активировать это здесь:

https://app.crittercism.com/developers/docs-android#Include_Logcat

В настоящее время это доступно в рамках платного плана, см. здесь для справки:

https://www.crittercism.com/pricing/

person pixelknitter    schedule 19.09.2013

Если вы используете ACRA для регистрации сбоев в своем приложении, достаточно настроить ACRA для отправки отчета по электронной почте.

См. https://github.com/ACRA/acra/wiki/AdvancedUsage#sending-reports-by-email

Но если у вас большое количество пользователей (или потенциально будет), то я настоятельно рекомендую вам использовать одну из размещенных служб отчетов о сбоях для агрегирования ваших сбоев. Потому что даже если ваше приложение идеально, оно будет генерировать сбои из-за ошибок в используемых вами библиотеках, самого AOSP, странных устройств, странных реализаций Android, странных состояний устройств.

person William    schedule 19.09.2013