如何以编程方式实现 'Show Touches'?

How to Implement 'Show Touches' programmatically?

Android 在 'Settings->Developer Options' 中有一个名为 'Show Touches' 的功能,可以显示触摸交互的视觉反馈。我想知道它是如何工作的?

您可以使用以下代码启用和禁用

先在清单中添加权限

 android.permission.WRITE_SETTINGS

注意:如果应用面向 API 级别 23 或更高级别,则应用用户必须通过权限管理屏幕明确向应用授予此权限。该应用通过发送带有操作 ACTION_MANAGE_WRITE_SETTINGS 的意图来请求用户的批准。应用程序可以通过调用 Settings.System.canWrite() 来检查它是否有这个权限。

阅读Manifest.permission

启用

Settings.System.putInt(context.getContentResolver(),"show_touches", 1);

禁用

Settings.System.putInt(context.getContentResolver(), "show_touches", 0);

我们可以借鉴AOSP中的PointerLocationView.javaPhoneWindowManager.java实现类似的功能