我想知道是否有任何方法可以知道通知栏是否打开。我有以下代码可以从程序中打开通知栏:
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 );
有什么方法可以知道面板是否已经打开?
最佳答案
将以下内容添加到您的 Activity
:
@Override public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
// if hasFocus is false, notification panel is open.
}
此函数的文档是 here .
关于Android:如何知道通知面板是否已经以编程方式打开?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18372849/