Only the user can set the default app. You can however use an intent filter to tell the OS that your app supports a specific intent and should appear in the list of relevant apps.
This example shows how you can catch SMS messages with a service:
Intent Filters - Intercepting SMS messages in the background
There are other intents that work with activities instead. Activity.GetStartingIntent will return the intent that caused the activity to be resumed.