コード例 #1
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            SetContentView(Resource.Layout.demo_home);

            PackageInfo packageInfo = null;
            var         pm          = PackageManager;

            try
            {
                packageInfo = pm.GetPackageInfo(PackageName, PackageInfoFlags.Activities | PackageInfoFlags.MetaData);
            }
            catch (PackageManager.NameNotFoundException)
            {
                Console.WriteLine("Could not find package with name " + PackageName);
            }
            if (packageInfo == null)
            {
                Finish();
            }

            var appMinVersion = (int)packageInfo.ApplicationInfo.TargetSdkVersion;

            foreach (var activityInfo in packageInfo.Activities)
            {
                var name     = activityInfo.Name;
                var metaData = activityInfo.MetaData;

                if (metaData != null && metaData.GetBoolean(GetString(Resource.String.isLaunchableActivity), false))
                {
                    var label      = GetString(activityInfo.LabelRes);
                    var minVersion = (BuildVersionCodes)metaData.GetInt(GetString(Resource.String.minVersion), appMinVersion);
                    activities.Add(new Demo(label, name, minVersion));
                }
            }

            activities.Sort((x, y) => StringComparer.OrdinalIgnoreCase.Compare(x.Title, y.Title));

            var listView = FindViewById <ListView>(Resource.Id.demo_list);
            var adapter  = new DemoArrayAdapter(this, Resource.Layout.list_item, activities);

            listView.Adapter    = adapter;
            listView.ItemClick += (sender, e) =>
            {
                var clickedDemo = (Demo)activities[e.Position];

                var intent = new Intent();
                intent.SetComponent(new ComponentName(PackageName, clickedDemo.ActivityClass));
                StartActivity(intent);
            };

            var disabledText = FindViewById <TextView>(Resource.Id.some_demos_disabled_text);

            disabledText.Text       = GetString(Resource.String.some_demos_disabled, (int)Build.VERSION.SdkInt);
            disabledText.Visibility = adapter.AnyDisabled ? ViewStates.Visible : ViewStates.Gone;
        }
コード例 #2
0
        public void InitInterface()
        {
            intentItems = new List <DemoListViewItem>();
            intentItems.Add(new IntentItem()
            {
                Title = "Play Video", Type = IntentType.PLAY_VIDEO
            });

            intentItems.Add(new IntentItem()
            {
                Title = "Open Playlist", Type = IntentType.OPEN_PLAYLIST
            });
            intentItems.Add(new IntentItem()
            {
                Title = "Play Playlist", Type = IntentType.PLAY_PLAYLIST
            });
            intentItems.Add(new IntentItem()
            {
                Title = "Open User", Type = IntentType.OPEN_USER
            });
            intentItems.Add(new IntentItem()
            {
                Title = "Open Channel", Type = IntentType.OPEN_CHANNEL
            });
            intentItems.Add(new IntentItem()
            {
                Title = "Open Search Results", Type = IntentType.OPEN_SEARCH
            });
            intentItems.Add(new IntentItem()
            {
                Title = "Upload Video", Type = IntentType.UPLOAD_VIDEO
            });

            ListView         listView = FindViewById <ListView>(Resource.Id.intent_list);
            DemoArrayAdapter adapter  = new DemoArrayAdapter(this, Resource.Layout.list_item, intentItems);

            listView.Adapter             = adapter;
            listView.OnItemClickListener = this;

            TextView youTubeVersionText = FindViewById <TextView>(Resource.Id.youtube_version_text);
            string   version            = YouTubeIntents.GetInstalledYouTubeVersionName(this);

            if (version != null)
            {
                string text = string.Format(GetString(Resource.String.youtube_currently_installed), version);
                youTubeVersionText.Text = text;
            }
            else
            {
                youTubeVersionText.Text = GetString(Resource.String.youtube_not_installed);
            }
        }
コード例 #3
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            SetContentView(Resource.Layout.intents_demo);

            intentItems = new List <DemoListViewItem>
            {
                new IntentItem(this, "Play Video", IntentType.PlayVideo),
                new IntentItem(this, "Open Playlist", IntentType.OpenPlaylist),
                new IntentItem(this, "Play Playlist", IntentType.PlayPlaylist),
                new IntentItem(this, "Open User", IntentType.OpenUser),
                new IntentItem(this, "Open Channel", IntentType.OpenChannel),
                new IntentItem(this, "Open Search Results", IntentType.OpenSearch),
                new IntentItem(this, "Upload Video", IntentType.UploadVideo),
            };

            var listView = FindViewById <ListView>(Resource.Id.intent_list);
            var adapter  = new DemoArrayAdapter(this, Resource.Layout.list_item, intentItems);

            listView.Adapter    = adapter;
            listView.ItemClick += OnItemClick;

            var youTubeVersionText = FindViewById <TextView>(Resource.Id.youtube_version_text);
            var version            = YouTubeIntents.GetInstalledYouTubeVersionName(this);

            if (version != null)
            {
                var text = string.Format(GetString(Resource.String.youtube_currently_installed), version);
                youTubeVersionText.Text = text;
            }
            else
            {
                youTubeVersionText.Text = GetString(Resource.String.youtube_not_installed);
            }
        }