android fw調試 按鍵派發給誰

在android維護或者開發的時候,經常和應用的同事幹仗。

原因就是某些測試情況下,按鍵或者點擊沒有被相應。

app同事說:我草,你大爺,我就沒收到,我沒法相應。

這個時候爲了打臉,你就需要在fw添加log,打印的log可以清楚的看到,事件到底派發給誰了。

文件view.java中函數

    public boolean performClick() {
        sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_CLICKED);

        ListenerInfo li = mListenerInfo;
        if (li != null && li.mOnClickListener != null) {
            playSoundEffect(SoundEffectConstants.CLICK);
            li.mOnClickListener.onClick(this);
            return true;
        }

        return false;
    }
就在此函數中添加log即可。

通過打印this及是否返回true來看:是派發給誰了,這個誰有沒有響應,或者根本就沒有設置onlick的listener。

    public boolean performClick() {
        sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_CLICKED);

        ListenerInfo li = mListenerInfo;
        if (li != null && li.mOnClickListener != null) {
            playSoundEffect(SoundEffectConstants.CLICK);
            li.mOnClickListener.onClick(this);
            android.util.Slog.d("TAG=======>VIew", " performClick   this:"+this);
            return true;
        }
	android.util.Slog.d("TAG=======>VIew", " performClick false  this:"+this);
 return false; }


發佈了71 篇原創文章 · 獲贊 22 · 訪問量 20萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章