6

您好,我使用手写笔(例如,三星笔)开发了一个应用程序。如您所知,当我们单击手写笔上的按钮时,会出现“Air command”(弹出窗口)。我的目标是“将空中命令覆盖到我的自定义函数中”

首先,我从 *SpenHoverListener"(Samsung Spen SDK 5.0 支持)开始,并重写 onHover 函数,如下所示。

private SpenHoverListener mHoverListener = new SpenHoverListener() {
    @Override
    public boolean onHover(View view, MotionEvent event) {
        Log.e("Test",""+event.getButtonState());
        updateHoverUI(event.getRawX(), event.getRawY(), event.getPressure(), event.getAction(), "Hover");
        return true;
    }
};

我可以成功监控按钮点击事件(BUTTON_STYLUS_PRIMARY => Button is clicked)。但是,我无法禁用空中命令

有什么办法可以禁用空中命令

最好的祝福。

4

5 回答 5

4

前言

以前笔记本型号和平板电脑可以禁用Air 命令
在 Marshmallow (version 6) 上没有这样的 toggle
要关闭三星 Galaxy Note 4(发布时)的 Air 命令功能:

Go to Settings > Controls.
Tap on S Pen.
Tap on Air Command.
Disable Air Command.

Air 命令(包com.samsung.android.service.aircommand)是通过系统服务实现的。

代码

从概念上讲,您不能以编程方式删除/禁用此 Air 服务(权限),并且因为system service似乎首先对硬件事件有兴趣(您稍后/也得到它们,如果它处于活动状态,则停止 Air为时已晚)。话虽这么说Greenify做到了,所以我寻找其他选择并找到了Brevent。这是 GitHub (AS 3) 上的完全免费源代码,我现在正在使用它(注意它包含 C 代码,因此如果你想构建它需要NDK ,或者参见 ->)。布雷文特游戏商店

空中命令在 Galaxy Note 5 中显示为灰色

对于这里的用户来说,变灰是一个问题,对你来说它可能是一个解决方案。

以下是一些选择评论:

一些车主报告说 Galaxy Note 5 中的空中命令显示为灰色。Galaxy Note 5 空中命令灰显的原因通常是由于一些辅助功能设置(转到辅助功能并打开语音助手?)。实际上,当您启用此类可访问性设置时,空中命令会出现警告消息。但大多数时候,没有人阅读它。

我有一个 Galaxy Note 5,一切都很好,直到设备建议我将其 android 软件从 5.1.1 更新到 6.0.1

我有 Note 5,安装 Norton Antivirus 后 Air 命令停止工作。

绿化

对于您自己的个人用途,您可以使用“免费”应用程序:
(Android 版本 6+,即使没有 root!)Greenify禁用Air Command Service(禁用系统应用程序/服务,您需要进行少量“捐赠”,并描述了该功能作为“实验”)。

于 2018-01-16T14:45:23.447 回答
0

只需将返回类型更改为 false。这将启动您的方法,并将与悬停失败的系统进行通信;因此不会触发 Air View。

private SpenHoverListener mHoverListener = new SpenHoverListener() {
    @Override
    public boolean onHover(View view, MotionEvent event) {
        Log.e("Test",""+event.getButtonState());
        updateHoverUI(event.getRawX(), event.getRawY(), event.getPressure(), event.getAction(), "Hover");
        return false;
    }
};
于 2018-01-23T11:29:02.233 回答
0

使用 ADB 或超级用户 shell,您还可以执行以下操作:

pm disable com.samsung.android.service.aircommand

要重新启用它,请执行相同但disable→<code>enable。

于 2019-08-30T11:09:38.020 回答
0

上述提到的解决方案都不适合我(Galaxy Tab S3 上的 Android 9)。特别是我没有像热键建议的那样成功地使用 ADB 禁用 Air Command。然而,这导致我进入 ADB shell 中的下一个命令:

pm uninstall -k --user 0 com.samsung.android.service.aircommand

删除(不生根)比禁用更激进。然而,当我被带到当前页面时,这就是我真正想要的,我在其他任何地方都没有找到它。所以我想分享它可能很有用......

于 2020-05-03T13:00:40.860 回答
0

如何在 Android 设备上禁用“空中命令”?

据我所知,您无法在无根设备上以编程方式禁用它;我尝试了其他方法,甚至使用了 Greenify(显然是支付了 Greenify 的捐赠包)并没有解决问题,对我有用的方法(三星 Galaxy Tab A SM-P580 WIFI)是实际卸载应用程序。
  1. 备份了应用程序
    adb pull /system/priv-app/AirCommand/AirCommand.apk %USERPROFILE%\Desktop\aircommand.apk

  2. 卸载了应用程序
    adb shell pm uninstall -k --user current com.samsung.android.service.aircommand

  3. (可选)如果要取回它,可以使用 adb 再次安装
    adb install %USERPROFILE%\Desktop\aircommand.apk

所以这就是我在 Android 设备上禁用 Air Command 的方法,希望这对任何研究此问题的人有所帮助。

有美好的一天!

于 2021-01-27T21:16:14.607 回答