Xamarin.Mac/アクセシビリティの設定変更を検知する

提供: MonoBook
< Xamarin.Mac
2015年10月15日 (木) 15:28時点における114.49.12.98 (トーク)による版 (ページの作成:「==概要== Mac OS Xのアクセシビリティの設定が変更されたのを検知することができれば、アプリ実行中にアクセシビリティの許...」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

概要[編集 | ソースを編集]

Mac OS Xのアクセシビリティの設定が変更されたのを検知することができれば、アプリ実行中にアクセシビリティの許可が取り消されたかを確認し、必要に応じて警告を出すなどの挙動を実現できる。

実装[編集 | ソースを編集]

Mac OS Xのアクセシビリティの設定が変更されたのを検知するにはNSDistributedNotificationCenterで「"com.apple.accessibility.api"」を監視してやればよい。 DefaultCenterプロパティの型が何故かNSObjectとなっているのでキャストを忘れずに。

            var dnc = (NSDistributedNotificationCenter)NSDistributedNotificationCenter.DefaultCenter;

            dnc.AddObserver("com.apple.accessibility.api", (notification) => {
                Console.WriteLine(notification); 
            });

上記はあくまで「アクセシビリティの設定が変更された」という通知が届くだけであり、どの設定が変更されたかまでは通知されない。

主な用途だと思われる自身のアクセシビリティを確認する方法は下記を参照。

関連項目[編集 | ソースを編集]

参考文献[編集 | ソースを編集]