2011-10-28 11 views
5

Android için ACRA kullanıyorum ve çökme raporlarını kendi sunucuma göndermek istiyorum. Tamamen hazırladım ve her şey iyi çalışıyor. Ancak, raporların yapılandırılabilir olarak gönderildiği URL'yi yapmak istiyorum. Ama nasıl yapacağımı bilmiyorum. İşte Kendinden barındırılan sunucuya rapor gönderirken Android için ACRA ile yapılandırılabilir URL?

Ben Yani temelde 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 { 
    ... 

ayarlamak için kullanın koddur, ben uygulama içinden formUri yapılandırabilecektir wan't. Mümkün mü?

cevap

3

Belki başıma nasıl yapılacağını buldum çünkü Soru yayınlamak için biraz hızlı oldu ... Ama URL aşağıdaki kod satırı ile değiştirilebilir:

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

Düzenleme: Eski cevap, bendvds güncellendi yanıtı gör

9

ErrorReporter.getInstance şimdi kullanımdan kaldırılmıştır, ancak aşağıdaki satırlar aynı etkiye sahiptir. ACRA.init çağrılmadan önce bunları çalıştırın.

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

Benvd'nin cevabı hakkında yorum yapmayı tercih ederim, ancak yeterince yüksek bir itibarım yok.

ACRA.getConfig(), @ReportsCrashes içindeki tüm ayarları yok sayarak tamamen boş bir yapılandırma sağlar. ACRA.getNewDefaultConfig(), derleme ayarlarınızla birlikte yeni bir yapılandırma nesnesi döndürür, ancak Uri'nin dinamik olarak değişmesini sağlayabilirsiniz. Sorunuza

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

Doğru cevap ACRA : Advanced usage

Her @ReportsCrashes parametre de çalışma zamanı ayarlanabilir üzerinde buldum. Bu, Android Kitaplık Projelerinin artık kaynak alanı tanımlayıcıları olmadığından kaynak kodlayıcılar tarafından artık ACRA ile kullanılamayacağı ADT 17'den beri gerekliydi. Bazı gelişmiş geliştiriciler, kullanıcı seçimlerine bağlı olarak veya özel hata ayıklama modlarını etkinleştirirken ACRA parametrelerini ayarlamak için de gerekliydi.

ACRA.getConfig() yöntemi, her @ReportsCrashes yapılandırma öğesi için bir ayarlayıcı sağlayan bir ACRAConfiguration nesnesini döndürür.

Ayrıca, ACRA.getNewDefaultConfig (Uygulama) öğesini, ek açıklama parametrelerinizde ayarlanmış varsayılan değerler + değerleri ile başlatılan yeni bir yapılandırma nesnesi oluşturmak, bazı değerleri değiştirmek, nesneyi daha sonra kullanmak üzere bellekte tutmak ve ACRA'ya ayarlamak için de kullanabilirsiniz. .setConfig (ACRAConfiguration) gerektiğinde.

İlgili konular