Ответ от Ashwin работает для версий Android ниже 4.2.2 (т.е. ниже версии 17). В 4.2.2 метод «развернуть» был изменен на «расширениеNotificationsPanel». Если вы не используете это имя метода для 4.2.2 и выше, вы получите исключение нулевого указателя. Поэтому код должен быть:
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 );
И соответствующее разрешение должно быть добавлено к AndroidManifest
.
<uses-permission android:name="android.permission.EXPAND_STATUS_BAR" />
Очевидно, что это не является частью опубликованного API, так что это не гарантированно сработает в будущем, и многие люди не советуют это делать.