「Xamarin.Mac/アクセシビリティの設定変更を検知する」の版間の差分
ナビゲーションに移動
検索に移動
(ページの作成:「==概要== Mac OS Xのアクセシビリティの設定が変更されたのを検知することができれば、アプリ実行中にアクセシビリティの許...」) |
(相違点なし)
|
2015年10月15日 (木) 15:28時点における最新版
概要[編集 | ソースを編集]
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);
});
上記はあくまで「アクセシビリティの設定が変更された」という通知が届くだけであり、どの設定が変更されたかまでは通知されない。
主な用途だと思われる自身のアクセシビリティを確認する方法は下記を参照。