我有一個使用振動許可的動態壁紙。當顯示所有應用程序的幻燈片屏幕被拉出時(點擊時顯示日曆/計算器/ Gmail等的灰色矩形按鈕),當點擊時,幻燈片屏幕上的圖標如Gmail /日曆/計算器等顫動。我不知道爲什麼會發生這種情況,因爲壁紙應該失去焦點,它的可見度應該已經改變,因此壁紙不應該是活躍的。但是,這在應用程序開始運行時不會發生。它只發生在幻燈片屏幕上。我實施了OnvisibilityChanged()
。如何檢查動態壁紙失去時焦點
public void onVisibilityChanged(boolean visible) {
this.visible = visible;
if (visible) {
iteration();
drawFrame();
} else {
// stop the animation
mHandler.removeCallbacks(mIteration);
}
}
this.visible
被設置爲false onSurfaceDestroyed
。
我也做
View view = new View(getApplicationContext());
view.setFocusableInTouchMode(true);
view.setEnabled(true);
view.requestFocusFromTouch();
if(view.hasWindowFocus())
{
Log.v(TAG,"WindowFocus="+view.hasWindowFocus());
vibrator.vibrate(100);
}
但view.hasWindowFocus
永遠是假的。爲什麼這個窗口的焦點總是假的,我怎麼讓壁紙失去焦點?