Working with Pending Intents
When the user needs to interact with your application, she communicates by tapping the app widget using the Android messaging architecture (as described earlier), and you aren’t immediately notified. However, this doesn’t mean you can’t be notified about a click event on your app widget — it’s just done a little differently than regular views.
App widget click events contain instructions for what to do when a click event happens via the
PendingIntent class in the Android framework. A pending intent is an implementation of the
Intent class in Android, as explained in the following section.
Understanding the Android intent system
Intent object in Android is a message telling Android to make something happen. When you turn on a light using a wall switch, the action of your intent is to turn on the light, so you flip the switch to the On position. In Android, this action correlates to creating an instance of the
Intent class with an action in it specifying that the light is to be turned on:
Intent turnLightOn = new Intent(“TURN_LIGHT_ON”);
This intent is fired off into the Android messaging system (as described in Chapter 1), and the appropriate activity handles the
Intent. (If multiple activities respond, Android lets the user choose one to do the work.) However, in the physical world, an electrical connection is made by positioning the switch to the On position, resulting in illuminating the light. In Android, you have to provide code, in the form ...