How can I keep apps from getting at my information?
On iOS devices:
Applications that want to make use of your location are required to first get your approval. This comes as a pop-up notification the first time the application asks. If you do not want an app to have your location, you can deny this message. Apple's iOS also keeps track of each time the location is being used with an arrow in the device's status bar at the top of the screen.
As for other types of data, that's where some of the controversy lies. The majority of app makers put third-party tracking tools as part of the underlying code of their application, meaning there's no on-off switch. One solution that users have come up with is jailbreaking their device to get low-level system access, then installing programs that can provide a system-wide block for third-party trackers.
For those with a jailbroken iOS device, there's PrivaCy, a free settings option that includes toggles to turn on and off the anonymous usage statistics sent to companies like Flurry, Medialets, Mobclix and Pinch Media. This gives users a granular control over which of these networks apps can talk to.
For Android users:
Unlike on iOS, there's no app that lets you turn particular data collectors on or off across all apps. However there's a $2 app called Privacy Blocker that can go through your applications and find which are transmitting certain kinds of data. The program is then able to let users toggle, or make edits to those bits of information, such as changing a listed phone number or name fields. The next time that application checks in, it will be transmitting the data the users has come up with.
For BlackBerry users:
The BlackBerry Analytics service, which some application makers use to collect anonymous usage data, can be opted out of. This must be done on an application by application basis. Instructions for how to turn it off can be found on the BlackBerry support forums, linked here.