[Xamarin] Android の設定画面を開く

Android でアプリから設定画面を開くには、Xamarin.Forms.Forms.Context.StartActivity メソッドを使用します。
次のコードでは PCL から DependencyService で呼び出しています。
 

■ コード説明

一つ目のクラスは .Android プロジェクトに、二つ目のクラスとインタフェースは PCL プロジェクトに作成します。
二つ目のクラスで、Intent クラスのコンストラクタに渡している引数でどの設定の画面化を指定し、ここでは言語と入力の設定を開いています。
引数として渡す値は、Android.Provider.Settings クラスに定数として定義されています。
 

■ コード

[assembly: Xamarin.Forms.Dependency(typeof(Settings.Droid.OpenSettings))]
namespace Settings.Droid
{
    internal class OpenSettings : IOpenSettings
    {
        public void StartInputMethodSettings()
        {
            Xamarin.Forms.Forms.Context.StartActivity(new Android.Content.Intent(Android.Provider.Settings.ActionInputMethodSettings));
        }
    }
}

 

using System;
using Xamarin.Forms;

namespace Settings
{
    public partial class MainPage : ContentPage
    {
        public MainPage()
        {
            InitializeComponent();
        }

        private void Button_Clicked(object sender, EventArgs e)
        {
            Xamarin.Forms.DependencyService.Get<IOpenSettings>().StartInputMethodSettings();
        }
    }

    public interface IOpenSettings
    {
        void StartInputMethodSettings();
    }
}
広告