Androidのソースコードを確認した後、ボタンがクリックを実行すると、ビューのperformHapticFeedbackメタが呼び出され、電話がBZZZTT効果を実行することがわかりました。PerformHapticFeedbackコードは次のようになります。
public boolean performHapticFeedback(int feedbackConstant, int flags) {
if (mAttachInfo == null) {
return false;
}
//noinspection SimplifiableIfStatement
if ((flags & HapticFeedbackConstants.FLAG_IGNORE_VIEW_SETTING) == 0
&& !isHapticFeedbackEnabled()) {
return false;
}
return mAttachInfo.mRootCallbacks.performHapticFeedback(feedbackConstant,
(flags & HapticFeedbackConstants.FLAG_IGNORE_GLOBAL_SETTING) != 0);
}
しかし、Androidが物理的なボタン(key_home、key_Back、key_menuなど)でフィードバックハプティックをどのように実行するのか疑問に思います。物理的なボタンがビューに基づいていないためです。午後中ずっとソースコードを検索しましたが、物理的なボタンが触覚フィードバックをどのように実行するかについての貴重なコード行はありません~~~~誰かが私にいくつかのヒントを教えてもらえますか?
ありがとう