こんにちは、私はスタイラス(Samsungペンなど)を使用してアプリケーションを開発しました。ご存知のように、スタイラスのボタンをクリックすると、「Airコマンド」(ポップアップウィンドウ)が表示されます。私の目標は「airコマンドをカスタム関数にオーバーライドする "
まず、* 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 =>ボタンがクリックされました)。 [〜#〜]ただし[〜#〜]、airコマンドを無効にできません。
airコマンドを無効にする方法はありますか?
宜しくお願いします。
以前のノートモデルやタブレットでは、was可能でした Airコマンド 。
Marshmallow(バージョン6)にはそのようなトグルはありませんがあります。
Samsung Galaxy Note 4のAirコマンド機能をオフにするには(リリース時):
Go to Settings > Controls.
Tap on S Pen.
Tap on Air Command.
Disable Air Command.
Airコマンド(packagecom.samsung.Android.service.aircommand
)は、 システムサービス を介して実装されます。
概念的にあなたできませんこのAirサービス(許可)をプログラムで削除/無効にし、system service
としてらしい持っている最初のディブハードウェアイベントで(後で/また取得し、遅すぎます Airがアクティブな場合は停止できません)。そうは言っても Greenify そうなので、他のオプションを探して Brevent を見つけました。これは完全に無料のソースコードで、GitHub(AS 3)、今遊んでいます(Cコードが含まれていることに注意してください [〜#〜] ndk [〜# 〜] ビルドする場合は必須、または参照->)。 Brevent Playストア
ユーザーにとって ここ これ グレーアウト は問題です、あなたにとってそれは解決策かもしれません。
ここにいくつかの選択コメントがあります:
一部の所有者は、Galaxy Note5のエアコマンドがグレー表示されていると報告しました。 Galaxy Note 5 airコマンドがグレー表示される原因は、通常、一部のユーザー補助設定が原因です([ユーザー補助]に移動してVoice Assistantをオンにしますか?)。実際、このようなユーザー補助設定を有効にすると、airコマンドで警告メッセージが表示されました。しかし、ほとんどの場合、誰もそれを読みません。
私はギャラクシーノート5を持っていて、デバイスがそのAndroidソフトウェアを5.1.1から6.0.1に更新するように提案するまで、すべてが順調でした
ノートンアンチウイルスをインストールした後、Note 5があり、Airコマンドが機能しなくなりました。
あなたの個人的な使用あなたは '無料'アプリを使うことができます:
(Androidバージョン6以降、rootがなくても!) GreenifyAir Command Service
を無効にします(システムアプリ/サービスを無効にするには、小さな「donation "であり、関数は" experimental ")として記述されています。
ADBまたはスーパーユーザーシェルを使用すると、次のようにすることもできます。
pm disable com.samsung.Android.service.aircommand
有効に戻すには、同じことを行いますが →disable
enable
。
戻り値の型を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;
}
};