Настроювана URL-адреса з ACRA для Android при надсиланні звіту на самостійний сервер?

Я використовую ACRA для Android, і я хочу надіслати звіти про аварійне завершення роботи на мій власний сервер . Я встановив його в порядку, і все працює нормально. Однак, я хотів би створити URL-адресу, на яку надсилатимуться звіти для налаштовування. Але я не знаю, як це зробити.

Ось код, який я використовую для встановлення URL-адреси

    @ReportsCrashes(formKey = "",//will not be used
            formUri = "http://yourserver.com/yourscript",
            formUriBasicAuthLogin = "yourlogin",//optional
            formUriBasicAuthPassword = "y0uRpa$$w0rd",//optional
            mode = ReportingInteractionMode.TOAST,
            resToastText = R.string.crash_toast_text)
    public class MyApplication extends Application {
    ...

Тому в основному я не можу налаштувати formUri з програми. Це можливо?

5

4 Відповіді

Здається, що ErrorReporter.getInstance тепер застарілий, але наступні рядки мають однаковий ефект. Виконайте їх перед викликом ACRA.init.

ACRAConfiguration config = ACRA.getConfig();
config.setFormUri("http://server.com/script");
ACRA.setConfig(config);
9
додано

Можливо, мені було трохи швидше розмістити питання, тому що я знайшов, як це зробити сам ... Але URL-адресу можна змінити за допомогою наступного рядка коду:

    ErrorReporter.getInstance().setReportSender(new HttpPostSender(newAddress, null));

Редагування: стара відповідь, див. оновлений відповідь bendvds

3
додано

Correct answer for your question found on ACRA : Advanced usage

Кожен параметр @ReportsCrashes також може бути встановлений під час виконання. Це було необхідне з ADT 17, де проекти бібліотек Android не можуть бути використані в ACRA, оскільки їх ідентифікатори ресурсів більше не є остаточними полями. Деякі розробники також потребували налаштувати параметри ACRA в залежності від вибору користувача або під час спеціальних режимів налагодження enablig.

     

Метод ACRA.getConfig() повертає об'єкт ACRACконфігурації, який надає налаштування для кожного елемента конфігурації @ReportsCrashes.

     

Ви навіть можете використовувати ACRA.getNewDefaultConfig (додаток), щоб створити новий об'єкт конфігурації, ініціалізувати за допомогою значень за замовчуванням + значення, встановлені в параметрах анотації, змінити деякі значення, зберегти об'єкт у пам'яті для подальшого використання та встановити його на ACRA. setConfig (ACRACconfiguration), коли це необхідно.

0
додано

Я б хотів би коментувати відповідь Бендда, але у мене немає достатньо високої репутації.

ACRA.getConfig() ігнорує всі параметри у @ReportsCrashes, що забезпечує абсолютно порожню конфігурацію. ACRA.getNewDefaultConfig() повертає новий об'єкт конфігурації за допомогою ваших параметрів збірки, але все ще динамічно змінюється.

ACRAConfiguration config = ACRA.getNewDefaultConfig();
config.setFormUri("http://server.com/script");
ACRA.setConfig(config);
0
додано
android_jobs_ua
android_jobs_ua
120 учасників

Публикуем вакансии и запросы на поиск работы по направлению Android. Здесь всё: full-time, part-time, remote и разовые подработки.

Mobile Dev Jobs UA
Mobile Dev Jobs UA
20 учасників

Публикуем вакансии и запросы на поиск работы по направлению iOS, Android, Xamarin, RN и т.д.