检查对讲在手机上是否有效

时间:2015-10-05 13:53:56

标签: android permissions talkback blind

我有一个应用程序,你可以计算你的卡路里。

我想制作一个盲目的模式,所以如果有人使用这个盲人的应用程序,那么该应用程序不需要向他显示图表。

我需要在手机上查看盲人模式是否有效(是对讲激活)。

我该怎么做并检查此权限。

我已尝试过此代码,但无效

Intent screenReaderIntent = new Intent("android.accessibilityservice.AccessibilityService");
screenReaderIntent.addCategory("android.accessibilityservice.category.FEEDBACK_SPOKEN");

List<ResolveInfo> screenReaders = getPackageManager().queryIntentServices(screenReaderIntent, 0);

Cursor cursor = null;

ContentResolver cr = getContentResolver();

for (ResolveInfo screenReader : screenReaders) {
cursor = cr.query(Uri.parse("content://" +      screenReader.serviceInfo.packageName
        + ".providers.StatusProvider"), null, null, null, null); 

1 个答案:

答案 0 :(得分:1)

你完全以错误的方式思考这个问题。通过这样做,您将破坏应用程序的可访问性。请记住,可访问性不仅仅是关于无视用户如何使用您的应用程序。有一大堆不同的残疾。那些视力不佳的用户呢?还是患有阅读障碍的人?用户可以轻松查看,但使用TalkBack将文本读出来,因为它比缩放功能更方便吗?

分开不相等。您应该尽力使用TalkBack访问您的图表。

这个思维过程有一些例外,但是,我不认为这是其中之一。要找到您想要的信息,您应该这样做:

Settings.Secure.getInt(this.getContentResolver(),android.provider.Settings.Secure.ACCESSIBILITY_ENABLED);