2014-04-30 9 views
8

Chciałbym udostępnić ustawienie w mojej aktywności na mojej aplikacji na Androida, pozwalające użytkownikowi wyłączyć nasze oprogramowanie analityczne, w tym Crashlytics. Jednak nazwa Crashlytics.start(Context) jest wywoływana na długo przed przejściem użytkownika do strony ustawień i nie widzę równoważnej funkcji Crashlytics.stop(Context). Czy można zatrzymać aplikację Crashlytics w aplikacji po jej uruchomieniu?Jak mogę wyłączyć Crashlytics w środowisku wykonawczym w odpowiedzi na zmianę preferencji użytkownika?

+2

Można rozważyć wybór autora na następnej aplikacji rozpocząć i pominąć inicjalizacji. W bieżącej sesji aplikacji będzie włączony tryb crashlytics. Czy uważasz, że jest to duży problem dla użytkowników? – middlehut

+2

Ponieważ jest to problem związany z prywatnością, uważam, że nie należy wprowadzać zmiany preferencji natychmiast. Nasi użytkownicy z pewnością dbają o to, czy dane są wysyłane do stron trzecich, gdy ich zażądają. – kemitche

Odpowiedz

2

Zostałem poinformowany, że konkretny przypadek, który próbuję, nie jest obecnie możliwy. Mogę jednak zapewnić użytkownikom kontrolę nad tym, czy nie wysłać dane do Crashlytics umożliwiając wiersz „Prywatność” w ustawieniach aplikacji części deski rozdzielczej Crashlytics:

Go here aby wybrać aplikację, którą chcesz dodać w oknie dialogowym, a następnie kliknij opcję "Włącz prośbę dotyczącą prywatności" w lewym górnym rogu.

od: http://support.crashlytics.com/knowledgebase/articles/349914-can-i-toggle-whether-or-not-a-user-needs-to-give-p

+0

Następnie użytkownik zostanie zapytany za każdym razem, gdy nastąpiła awaria, czy nie? – chokdee

1

Jest to łatwe do zrobienia.

  1. Dodaj preferencje do ustawień aplikacji i pozwól użytkownikowi zejść, aby to zrobić, czy nie.
  2. Wdrożenie UncaughtExceptionHandler i zrobić tak

@Override public void uncaughtException(Thread thread, Throwable ex) { SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(MyApplication.getAppContext()); Boolean send = sharedPref.getBoolean(MySettingsActivity.KEY_PREF_SEND_ERROR, true); if (send) { orgHandler.uncaughtException(thread, ex); } else System.exit(0); }

Powiązane problemy