Analytics question

When I respond to a user who wants to opt out of Analytics data collection, I am getting an error

The StopDataCollection() method cannot be used before StartDataCollection() has been called.

My question is, how does AnalyticsService know that it hasn’t been started, why does it care, and how would I know that it hasn’t been started so I can avoid calling the function? Instead of rolling my own solution, it would be nice if I could query AnalyticsService to see if I need to call it.

Agreed, this is a bad API. The only solution I can see is to catch the exception (which isn’t even an informative type, it is a NotSupportedException).