嗨,我开发了一个使用手写笔的应用程序(例如三星笔)。 如您所知,当我们单击手写笔上的按钮时,会出现"空中命令"(弹出窗口)。 我的目标是">将空中命令覆盖到我的自定义函数中">
首先,我从 *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 =>按钮被单击)。但是,我无法禁用空中命令。
有没有办法禁用空中命令?
此致敬意。
前言
在以前的笔记型号和平板电脑中可以禁用空中命令。
在棉花糖(版本 6)上没有这样的切换。
要关闭三星Galaxy Note 4(发布时)的空中命令功能:
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,安装后空中命令停止工作 诺顿防病毒软件。
绿化
对于您自己的个人用途,您可以使用">免费"应用程序:
(Android版本6 +,即使没有root!Greenify以禁用Air Command Service
(要禁用系统应用程序/服务,您需要进行少量">捐赠",该功能被描述为">实验性")。
如何在安卓设备上禁用"空中命令"?
据我所知,您无法在无根设备上以编程方式禁用它;我尝试了其他方法,甚至使用了Greenify(显然支付了Greenify的捐赠包),但它并没有解决问题,对我有用的(三星Galaxy Tab A SM-P580 WIFI)是实际卸载应用程序。备份了应用程序
adb pull /system/priv-app/AirCommand/AirCommand.apk %USERPROFILE%Desktopaircommand.apk
卸载了应用程序
adb shell pm uninstall -k --user current com.samsung.android.service.aircommand
(可选)如果你想找回它,你可以用adb
adb install %USERPROFILE%Desktopaircommand.apk
再次安装它
所以这就是我在Android设备上禁用空军司令部的方式,希望这对任何研究这个问题的人有所帮助。
祝你有美好的一天!
只需将返回类型更改为 false。这将启动您的方法,并将与悬停失败的系统通信;因此不会触发空中视图。
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;
}
};
使用 ADB 或超级用户 shell,您还可以执行以下操作:
pm disable com.samsung.android.service.aircommand
要重新启用它,请执行相同的操作,但→disable
enable
。
上面提到的解决方案都不适合我(Galaxy Tab S9上的Android 3)。 特别是我没有像热键建议的那样成功地使用 ADB 禁用空中司令部。 但是,这将我引向 ADB shell 中的下一个命令:
pm uninstall -k --user 0 com.samsung.android.service.aircommand
移除(不生根)比禁用更激进。然而,当我被带到当前页面时,这就是我实际上正在寻找的东西,我没有在其他任何地方找到它。所以我想分享它可能会很有用...