Android展開 摺疊通知欄

2021-06-28 07:18:59 字數 1026 閱讀 5000

最近幾天碰到乙個鬱悶的問題,在有些機型上面使用pendingintent.getactivity(context, 0, intent, 0)的方式開啟乙個指定的activity後,通知欄並不主動

摺疊,讓我一度的以為使用pendingintent.getactivity()的方式無法開啟activity,後面才發現其實已經開啟了activity。但是因為通知欄沒有主動摺疊,遮擋

了activity照成的誤解。

獲取服務的key值常量也是被隱藏的。詳見android.content.context.status_bar_service常量定義。

因展開和摺疊通知欄的類和介面都被隱藏了,所以只能通過反射的方式才能呼叫,具體**如下:

摺疊通知欄:

public

static

voidcollapsingnotification(context context)else

collapse.setaccessible(true);

collapse.invoke(service);

}catch(exception e)

展開通知欄:

public

static

voidexpandnotification(context context)else

expand.setaccessible(true);

expand.invoke(service);

}catch(exception e)

注意:展開/摺疊通知欄需要申請在androidmanifest.xml中新增如下許可權:

<

uses-permission

android:name="android.permission.expand_status_bar"

/>

UITableableView摺疊展開

import headerviewbutton.h implementation headerviewbutton only override drawrect if you perform custom drawing.an empty implementation adversely affec...

實現Android的訊息通知欄

背景知識 可以用activity和service來開始訊息通知,兩者的區別在於乙個是在前台觸發,乙個是後台服務觸發。要使用訊息通知,必須要用到兩個類 notificationmanager和notification,其他notificationmanager的初始化是用getsystemservic...

android 仿微信通知欄

上面是android7.1系統的顯示效果 notificationmanager manager notificationmanager getsystemservice notification service notificationcompat.builder builder new noti...