其他程式中禁止或者自動下拉狀態列

2021-06-21 16:14:58 字數 1518 閱讀 5267

4.3android原始碼

需求一:在其他程式中通過觸發使狀態列自動下拉

解決:在觸發事件中

mstatusbarmanager = (statusbarmanager)this.getsystemservice(context.status_bar_service);

mstatusbarmanager.expandnotificationspanel();

解析:mstatusbarmanager.expandnotificationspanel()方法最終會呼叫commandqueue.callbacks介面的animateexpandnotificationspanel()在phonestatusbar中實現通知欄自動下拉。

context.status_bar_service =「statusbar」;

需求二:在其他程式中通過觸發禁止狀態列下拉功能

int flags = statusbarmanager.disable_none;

mstatusbarmanager = (statusbarmanager)this.getsystemservice(context.status_bar_service);

flags |= statusbarmanager.disable_expand;

mstatusbarmanager.disable(flags);

若要再恢復下拉,只需public static final int disable_none = 0x00000000;將flags置為此。

other 1:

statusbarmanager.disable_recent 

statusbarmanager.disable_notification_ticker

statusbarmanager.disable_search

other 2:

自寫個activity,通過其button元件的onclick方法出發狀態列自動下拉:

核心**:

private void openexpand() catch(exception e)

實際code時誤寫:

。。。。。

if (statuabarservice !=null)

expandstatusbar.setaccessible(true);

expandstatusbar.invoke(statuabarservice); 

。。。。

這樣statuabarservice =null,在expandstatusbar.setaccessible(true)會報空指標異常!

statusbarmanager類中提供的其他可呼叫方法:

collapsepanels() : 呼叫commandqueue.callbacks介面的animatecollapsepanels()在phonestatusbar中實現收起下拉的通知欄。

另外api>=4.3以上增加了expandsettingspanel()方法用於實現設定通知欄的顯示。

相關鏈結文章「statusbar—狀態列對外」

wordpress中如何禁止或者遮蔽更新提示

wordpress禁止,外掛程式更新,主題更新,wordpress本身更新提示的方法 禁止wp更新 open file wordpress wp includes update.php add filter pre site transient update core create function...

Windows 中執行 yarn 或者其他命令報錯

由於筆者在 windows 系統中安裝 yarn 的時候,是通過npm install g yarn來安裝的,因此當我在終端中使用 yarn 的時候,就不行出現了下面的報錯 ps c users ruxf electron with vue yarn version 70 中的 about exec...

監視程式中的死鎖及其他

每天回家路上總有一段比較長的路一片漆黑無法看書。這種時候,如果我有興致則會用手機上上網,但是大部分情況下還是用來想問題的。剛才在路上想起今天的工作之一是讓乙個型別中的所有方法對多執行緒 完全互斥 我不知道如何為它命名,我的意思是乙個類中任意兩個方法a或b,在a沒有退出前,另乙個執行緒是無法訪問b的 ...