示例#1
0
        public static void StartPowerSaverIntent(Context context)
        {
            ISharedPreferences settings = context.GetSharedPreferences("ProtectedApps", FileCreationMode.Private);
            bool skipMessage            = settings.GetBoolean("skipAppListMessage", false);

            if (!skipMessage)
            {
                ISharedPreferencesEditor editor = settings.Edit();
                foreach (Intent intent in POWERMANAGER_INTENTS)
                {
                    if (context.PackageManager.ResolveActivity(intent, PackageInfoFlags.MatchDefaultOnly) != null)
                    {
                        var dontShowAgain = new Android.Support.V7.Widget.AppCompatCheckBox(context);
                        dontShowAgain.Text           = context.GetString(Resource.String.home_dont_show_agian);
                        dontShowAgain.CheckedChange += (object sender, CompoundButton.CheckedChangeEventArgs e) =>
                        {
                            editor.PutBoolean("skipAppListMessage", e.IsChecked);
                            editor.Apply();
                        };

                        new AlertDialog.Builder(context)
                        .SetIcon(Android.Resource.Drawable.IcDialogAlert)
                        .SetTitle(context.GetString(Resource.String.home_add_to_list))
                        .SetMessage(context.GetString(Resource.String.home_setting_msg))
                        .SetView(dontShowAgain)
                        .SetPositiveButton(context.GetString(Resource.String.home_goto_setting), (o, d) => context.StartActivity(intent))
                        .SetNegativeButton(Android.Resource.String.Cancel, (o, d) => { })
                        .Show();

                        break;
                    }
                }
            }
        }
示例#2
0
        /// <summary>
        /// Ask the user to disable the brand power management, open the correct intent to do so
        /// </summary>
        /// <param name="context"></param>
        /// <param name="appName">Name of the current app</param>
        public static void StartPowerSaverIntent(Context context, string appName)
        {
            var settings    = context.GetSharedPreferences("ProtectedApps", FileCreationMode.Private);
            var skipMessage = settings.GetBoolean("skipAppListMessage", false);

            if (skipMessage)
            {
                return;
            }
            var editor = settings.Edit();

            foreach (var intent in PowerManagerIntents)
            {
                if (context.PackageManager.ResolveActivity(intent, PackageInfoFlags.MatchDefaultOnly) == null)
                {
                    continue;
                }
                var dontShowAgain = new Android.Support.V7.Widget.AppCompatCheckBox(context)
                {
                    Text = "Do not show again"
                };
                dontShowAgain.CheckedChange += (sender, e) =>
                {
                    editor.PutBoolean("skipAppListMessage", e.IsChecked);
                    editor.Apply();
                };

                new AlertDialog.Builder(context)
                .SetIcon(Android.Resource.Drawable.IcDialogAlert)
                .SetTitle($"Add {appName} to list")
                .SetMessage($"{appName} requires to be enabled/added in the list to function properly.\n")
                .SetView(dontShowAgain)
                .SetPositiveButton("Go to settings", (o, d) => context.StartActivity(intent))
                .SetNegativeButton(Android.Resource.String.Cancel, (o, d) => { })
                .Show();

                break;
            }
        }