URL configurable con ACRA para Android al enviar el informe al servidor auto-alojado?

Estoy utilizando ACRA para Android, y quiero enviar los informes de fallo a mi propio servidor. Lo he configurado bien, y todo funciona bien. Sin embargo, me gustaría hacer la URL que los informes se envían a configurable. Pero no sé cómo hacerlo.

Aquí está el código que utilizo para establecer la 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 { ... 

Así que básicamente, quiero wan't ser capaz de configurar formUri desde dentro de la aplicación. ¿Es posible?

Parece que ErrorReporter.getInstance ahora está obsoleto, pero las líneas siguientes tienen el mismo efecto. Ejecutarlos antes de llamar a ACRA.init.

 ACRAConfiguration config = ACRA.getConfig(); config.setFormUri("http://server.com/script"); ACRA.setConfig(config); 

Tal vez fui un poco rápido para publicar una pregunta, porque he encontrado cómo hacerlo por mí mismo … Pero la URL se puede cambiar con la siguiente línea de código:

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

Editar: Antiguo respuesta, vea bendvds actualizado respuesta

Yo preferiría comentar sobre la respuesta de benvd, pero no tengo una reputación lo suficientemente alta.

ACRA.getConfig () ignora todas las configuraciones dentro de @ReportsCrashes proporcionando una configuración completamente vacía. ACRA.getNewDefaultConfig () devuelve un nuevo objeto de configuración con la configuración de construcción, pero todavía puede tener el Uri cambiado dinámicamente.

 ACRAConfiguration config = ACRA.getNewDefaultConfig(); config.setFormUri("http://server.com/script"); ACRA.setConfig(config); 

Respuesta correcta para su pregunta encontrada en ACRA: Uso avanzado

Cada parámetro @ReportsCrashes también se puede establecer en tiempo de ejecución. Esto era necesario desde ADT 17 donde los Proyectos de Biblioteca de Android no se podían usar con ACRA debido a que sus identificadores de recursos ya no eran campos finales. Algunos desarrolladores avanzados también necesitaban ajustar los parámetros ACRA dependiendo de las opciones del usuario o cuando se habilitaban modos especiales de depuración.

El método ACRA.getConfig () devuelve un objeto ACRAConfiguration que proporciona un setter para cada elemento de configuración @ReportsCrashes.

Incluso puede utilizar ACRA.getNewDefaultConfig (Aplicación) para crear un nuevo objeto de configuración inicializado con valores predeterminados + valores establecidos en los parámetros de anotación, modificar algunos valores, mantener el objeto en la memoria para uso posterior y establecerlo en ACRA.setConfig (ACRAConfiguration ) cuando sea necesario.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.