2013-08-22 158 views
2

我想知道是否有任何方法知道通知欄是否打開。我有下面的代碼來打開程序中的通知欄:Android:如何知道通知面板是否已經以編程方式打開?

Object sbservice = getSystemService("statusbar"); 
Class<?> statusbarManager = Class.forName("android.app.StatusBarManager"); 
Method showsb; 
if (Build.VERSION.SDK_INT >= 17) { 
    showsb = statusbarManager.getMethod("expandNotificationsPanel"); 
} 
else { 
    showsb = statusbarManager.getMethod("expand"); 
} 
showsb.invoke(sbservice); 

有什麼方法可以知道面板是否已經打開?

回答

0

以下內容添加到您的Activity

@Override public void onWindowFocusChanged(boolean hasFocus) { 
    super.onWindowFocusChanged(hasFocus); 
    // if hasFocus is false, notification panel is open. 
} 

DOCO此功能是here

相關問題