You are previewing Professional Android 4 Application Development, 3rd Edition.

Professional Android 4 Application Development, 3rd Edition

  1. Cover
  2. Chapter 1: Hello, Android
    1. A Little Background
    2. What Android Isn't
    3. Android: An Open Platform for Mobile Development
    4. Native Android Applications
    5. Android SDK Features
    6. Introducing the Open Handset Alliance
    7. What Does Android Run On?
    8. Why Develop for Mobile?
    9. Why Develop for Android?
    10. Introducing the Development Framework
  3. Chapter 2: Getting Started
    1. Developing for Android
    2. Developing for Mobile and Embedded Devices
    3. Android Development Tools
  4. Chapter 3: Creating Applications and Activities
    1. What Makes an Android Application?
    2. Introducing the Application Manifest File
    3. Using the Manifest Editor
    4. Externalizing Resources
    5. The Android Application Lifecycle
    6. Understanding an Application's Priority and Its Process' States
    7. Introducing the Android Application Class
    8. A Closer Look at Android Activities
  5. Chapter 4: Understanding Fragments
    1. Fundamental Android UI Design
    2. Android User Interface Fundamentals
    3. Introducing Layouts
    4. To-Do List Example
    5. Introducing Fragments
    6. The Android Widget Toolbox
    7. Creating New Views
    8. Introducing Adapters
  6. Chapter 5: Intents and Broadcast Receivers
    1. Introducing Intents
    2. Creating Intent Filters and Broadcast Receivers
  7. Chapter 6: Using Internet Resources
    1. Downloading and Parsing Internet Resources
    2. Using the Download Manager
    3. Using Internet Services
    4. Connecting to Google App Engine
    5. Best Practices for Downloading Data Without Draining the Battery
  8. Chapter 7: Files, Saving State,and Preferences
    1. Saving Simple Application Data
    2. Creating and Saving Shared Preferences
    3. Retrieving Shared Preferences
    4. Creating a Settings Activity for the Earthquake Viewer
    5. Introducing the Preference Framework and the Preference Activity
    6. Creating a Standard Preference Activity for the Earthquake Viewer
    7. Persisting the Application Instance State
    8. Including Static Files as Resources
    9. Working with the File System
  9. Chapter 8: Databases and Content Providers
    1. Introducing Android Databases
    2. Introducing SQLite
    3. Content Values and Cursors
    4. Working with SQLite Databases
    5. Creating Content Providers
    6. Using Content Providers
    7. Adding Search to Your Application
    8. Creating a Searchable Earthquake Content Provider
    9. Native Android Content Providers
  10. Chapter 9: Working in the Background
    1. Introducing Services
    2. Using Background Threads
    3. Using Alarms
    4. Using the Intent Service to Simplify the Earthquake Update Service
  11. Chapter 10: Expanding the User Experience
    1. Introducing the Action Bar
    2. Adding an Action Bar to the Earthquake Monitor
    3. Creating and Using Menus and Action Bar Action Items
    4. Refreshing the Earthquake Monitor
    5. Going Full Screen
    6. Introducing Dialogs
    7. Let's Make a Toast
    8. Introducing Notifications
    9. Adding Notifications and Dialogs to the Earthquake Monitor
  12. Chapter 11: Advanced User Experience
    1. Designing for Every Screen Size and Density
    2. Ensuring Accessibility
    3. Introducing Android Text-to-Speech
    4. Using Speech Recognition
    5. Controlling Device Vibration
    6. Working with Animations
    7. Enhancing Your Views
    8. Advanced Drawable Resources
    9. Copy, Paste, and the Clipboard
  13. Chapter 12: Hardware Sensors
    1. Using Sensors and the Sensor Manager
    2. Monitoring a Device's Movement and Orientation
    3. Introducing the Environmental Sensors
  14. Chapter 13: Maps, Geocoding, and Location-Based Services
    1. Using Location-Based Services
    2. Using the Emulator with Location-Based Services
    3. Selecting a Location Provider
    4. Finding Your Current Location
    5. Best Practice for Location Updates
    6. Using Proximity Alerts
    7. Using the Geocoder
    8. Creating Map-Based Activities
    9. Mapping Earthquakes Example
  15. Chapter 14: Invading the Home Screen
    1. Introducing Home Screen Widgets
    2. Creating App Widgets
    3. Creating an Earthquake Widget
    4. Introducing Collection View Widgets
    5. Introducing Live Folders
    6. Surfacing Application Search Results Using the Quick Search Box
    7. Creating Live Wallpaper
  16. Chapter 15: Audio, Video, and Using the Camera
    1. Playing Audio and Video
    2. Manipulating Raw Audio
    3. Creating a Sound Pool
    4. Using Audio Effects
    5. Using the Camera for Taking Pictures
    6. Recording Video
    7. Using Media Effects
    8. Adding Media to the Media Store
  17. Chapter 16: Bluetooth, NFC, Networks, and Wi-Fi
    1. Using Bluetooth
    2. Managing Network and Internet Connectivity
    3. Managing Wi-Fi
    4. Transferring Data Using Wi-Fi Direct
    5. Near Field Communication
  18. Chapter 17: Telephony and SMS
    1. Hardware Support for Telephony
    2. Using Telephony
    3. Introducing SMS and MMS
    4. Introducing SIP and VOIP
  19. Chapter 18: Advanced Android Development
    1. Paranoid Android
    2. Introducing Cloud to Device Messaging
    3. Implementing Copy Protection Using the License Verification Library
    4. Introducing In-App Billing
    5. Using Wake Locks
    6. Using AIDL to Support Inter-Process Communication for Services
    7. Dealing with Different Hardware and Software Availability
    8. Optimizing UI Performance with Strict Mode
  20. Chapter 19: Monetizing, Promoting, and Distributing Applications
    1. Signing and Publishing Applications
    2. Distributing Applications
    3. An Introduction to Monetizing Your Applications
    4. Application Marketing, Promotion, and Distribution Strategies
    5. Analytics and Referral Tracking
  21. Introduction
  22. Advertisements
O'Reilly logo

Chapter 17

Telephony and SMS

What's in this Chapter?

Initiating phone calls

Reading the phone, network, data connectivity, and SIM states

Monitoring changes to the phone, network, data connectivity, and SIM states

Using Intents to send SMS and MMS messages

Using the SMS Manager to send SMS messages

Handling incoming SMS messages

In this chapter, you'll learn to use Android's telephony APIs to monitor mobile voice and data connections as well as incoming and outgoing calls, and to send and receive short messaging service (SMS) messages.

You'll take a look at the communication hardware by examining the telephony package for monitoring phone state and phone calls, as well as initiating calls and monitoring incoming call details.

Android also offers full access to SMS functionality, letting you send and receive SMS messages from within your applications. Using the Android APIs, you can create your own SMS client application to replace the native clients available as part of the software stack. Alternatively, you can incorporate the messaging functionality within your own applications.

Hardware Support for Telephony

With the arrival of Wi-Fi-only Android devices, you can no longer assume that telephony will be supported on all the hardware on which your application may be available.

Marking Telephony as a Required Hardware Feature

Some applications don't make sense on devices that don't have telephony support. An application that provides reverse-number lookup for incoming calls or ...

The best content for your career. Discover unlimited learning on demand for around $1/day.