禁止Android的StatusBar下拉

來源:互聯網
上載者:User

Android中有許多隱藏的Service,StatusBarManager就是其中一個,在Context.java中可以看到:


[java]
/**
 * Use with {@link #getSystemService} to retrieve a {@link
 * android.app.StatusBarManager} for interacting with the status bar.
 *
 * @see #getSystemService
 * @see android.app.StatusBarManager
 * @hide
 */ 
public static final String STATUS_BAR_SERVICE = "statusbar"; 

    /**
     * Use with {@link #getSystemService} to retrieve a {@link
     * android.app.StatusBarManager} for interacting with the status bar.
     *
     * @see #getSystemService
     * @see android.app.StatusBarManager
     * @hide
     */
    public static final String STATUS_BAR_SERVICE = "statusbar";

 

表明該service不對外提供,如果要調用的話需要在源碼樹上編譯,才能調用到標記為@hide的介面。也可以將源碼編譯出來的classes.jar包添加到工程裡面。

 


StatusBarManager提供了一些有用的介面,像disable()方法正是我們需要的,一些系統級的應用也是調用的該方法禁止StatusBar下拉的,比如電話、鎖屏模組。想要調用該方法,你還需要以下許可權:


[html]
<uses-permission android:name="android.permission.STATUS_BAR" /> 
<uses-permission android:name="android.permission.EXPAND_STATUS_BAR"/> 

    <uses-permission android:name="android.permission.STATUS_BAR" />
    <uses-permission android:name="android.permission.EXPAND_STATUS_BAR"/>


擷取StatusBarManager執行個體,

 

[java]
mStatusBarManager = (StatusBarManager) mContext.getSystemService(Context.STATUS_BAR_SERVICE); 

mStatusBarManager = (StatusBarManager) mContext.getSystemService(Context.STATUS_BAR_SERVICE);
禁止下拉,


[java]
mStatusBarManager.disable(StatusBarManager.DISABLE_EXPAND); 

mStatusBarManager.disable(StatusBarManager.DISABLE_EXPAND);
解除禁止,


[java]
mStatusBarManager.disable(StatusBarManager.DISABLE_NONE); 

mStatusBarManager.disable(StatusBarManager.DISABLE_NONE);

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.