如果TalkBack处于活动状态,I将返回true或false。
public bool IsVoiceOver(){
AccessibilityManager am = (AccessibilityManager)
Context.AccessibilityService;
var a = am.IsEnabled;
if (!a)
{
Console.WriteLine(" DROID voice over is : " + a);
return false;
}
else
{
Console.WriteLine("DROID voice over is : " + a);
return true;
}
}
但是,“AccessibilityManager”无法正常工作。我猜是一个语法问题不确定。
您可以做的是检查AccessibilityManager是否可用
如下所示:
AccessibilityManager am = (AccessibilityManager)GetSystemService(Context.AccessibilityService);
if (am.IsEnabled)
{
Console.WriteLine(" DROID voice over is active);
return am.IsEnabled;
}
else
{
Console.WriteLine("DROID voice over is inactive);
return am.IsEnabled;
}
不要忘记添加以下using语句:
using Android.Views.Accessibility;
using Android.Content;
要访问GetSystemService方法,您需要Current Activity Plugin
CrossCurrentActivity.Current.Init(this, bundle);
的OnCreate上调用Init方法即可 AccessibilityManager am = (AccessibilityManager)CrossCurrentActivity.Current.Activity.GetSystemService(Context.AccessibilityService);