当前位置: 首页 > 知识库问答 >
问题:

Android-防止回读应用程序名称和当前方向

耿招
2023-03-14

问题是当我的活动启动时,我正在使用TTS读取一条长字符串消息,但TalkBack会自动读取中间的应用程序名称并剪切长字符串,非常烦人。

我想禁用对讲读取应用程序名称每次活动启动。删除它的android:label属性不是一个可行的解决方案,因为该应用程序是由别人控制的,我对它没有控制权。

那么,我是否可以调用任何API来防止TalkBack功能在启动应用程序时读取应用程序名称?

任何帮助都将不胜感激。

提前非常感谢。

问候, 阿肖克

共有3个答案

夏侯俊美
2023-03-14

但是这行在 on创建启动器活动

科特林:

ViewCompat.setImportantForAccessibility(window.decorView,
ViewCompat.IMPORTANT_FOR_ACCESSIBILITY_NO)

Java:

ViewCompat.setImportantForAccessibility(getWindow().getDecorView(),
ViewCompat.IMPORTANT_FOR_ACCESSIBILITY_NO);

这对我有用。

微生乐
2023-03-14

您应该将它添加到AndroidManifest.xml中

<activity
            android:name="com.mobile.myapp.test"
            android:label="About"
            android:screenOrientation="portrait" />

如果您不希望TalkBack读取活动名称,请将android:标签留空。

张岳
2023-03-14

解决方案是重写Activity中的dispatchPopulateAccessibilityEvent()以返回true。这将阻止对讲宣布活动标签。

 类似资料:
  • 我试图重命名每个构建变量的APK文件,以包括应用程序名称、版本名、版本代码和构建编号(如果存在)。到目前为止,除了应用程序名之外,我的一切都正常工作。 我想使用与< code>AndroidManifest.xml文件用于android:label相同的值。这来自字符串资源< code>@string/app_name。我看到了通过使用以下内容来替换资源值的能力: 但我只想读取这个值并用它来命名我

  • 我刚刚完成了我的第一个android应用程序,并生成了一个apk文件在我的手机上测试。然后我意识到我在制作项目时留下了默认的“My Application”名称。所以安装的应用程序名为“我的应用程序”。如何更改应用程序的名称?

  • 问题内容: 我在某些设备(带有Android 7的Nexus 5x)上遇到非常奇怪的情况:当我清理其数据并卸载它,然后与Studio一起安装时,该应用并未统一,但它使用的是1月24日的数据!我在平板电脑上尝试了相同的步骤,但该应用程序没有数据。 我已经重复了很多次此过程,我清理了我的项目,多次对其进行了重建,并且始终以1月24日的数据(包括数据库和共享首选项)开始。 我什至尝试了adb shell

  • 如果按照步骤设置强制停止应用程序-

  • 我想知道一个应用程序的包名,我只知道那个应用程序的应用程序名。假设我想知道一个电子邮件应用程序的包名,只是它的名字,然后如何得到它 我只知道应用程序名。 这是代码,以获得所有的应用程序的包名称,但我需要知道特定的应用程序。

  • 本文向大家介绍用Java显示当前方法名称,包括了用Java显示当前方法名称的使用技巧和注意事项,需要的朋友参考一下 包含由当前堆栈跟踪元素表示的执行点的当前方法名称由java.lang.StackTraceElement.getMethodName()方法提供。 演示此的程序如下所示- 示例 输出结果 现在让我们了解上面的程序。 该方法用于获取当前方法名称,该名称包含由当前堆栈跟踪元素表示的执行点