Background Services in Mono for Android: Listing 4

The MusicActivity class.

 [Activity(Label = "Music Player", MainLauncher = true)]
    public class MusicActivity : Activity
    {
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            SetContentView(Resource.Layout.Main);

            var playButton = FindViewById<Button>(Resource.Id.Play);
            var stopButton = FindViewById<Button>(Resource.Id.Stop);

            playButton.Click += delegate
            {
                var intent = new Intent(this, typeof (MusicService));
                intent.PutExtra(MusicService.CommandExtraName, MusicService.PlayCommand);

                StartService(intent);
            };

            stopButton.Click += delegate
            {
                var intent = new Intent(this, typeof(MusicService));
                intent.PutExtra(MusicService.CommandExtraName, MusicService.StopCommand);

                StartService(intent);
            };
        }
    }

About the Author

Greg Shackles is a Senior Software Engineer at OLO Online Ordering, based in New York City. His book, Mobile Development with C# (O'Reilly), covers how to get started building iOS, Android and Windows Phone apps with C#. As an active member of the community, Greg speaks regularly at many user groups and developer events. Outside of technology, Greg is obsessed with heavy metal, baseball, and craft beer, sometimes in combination, as well as an aspiring homebrewer. You can find him online on his blog, gregshackles.com, or on Twitter: @gshackles.