2014-02-10 21 views
0

我正在開發具有通知系統的應用程序,該系統支持從2.3.3及更高版本的操作系統版本 。在android操作系統少於3個,我們有 設置內容意圖的選項。整個通知區域爲 單擊即可。如何在Android OS 3.0及以上版本中隱藏通知抽屜?

但是對於OS 3.0及以上版本,通過使用遠程視圖,我們有3個不同的 按鈕來執行各自的操作。通過打開通知 抽屜,我們可以點擊任何按鈕來執行操作。

按鈕默認點擊後,通知抽屜不會向上(或隱藏) 。有沒有什麼辦法隱藏通知抽屜 programmatic-ally。請幫助我。

回答

0

我固定的問題與下面的代碼片段。 但這不建議使用。 這可以通過反射的幫助來實現。 今後可能會被棄用。

void collapseStatusBar(上下文上下文){訪問系統狀態欄。這不是公開的,因此可能是 //將來不推薦使用 Object service = context.getSystemService(「statusbar」);

Class<?> statusbarManager = null; 

try { 
    statusbarManager = Class.forName("android.app.StatusBarManager"); 
} catch (ClassNotFoundException e) { 
    // TODO Auto-generated catch block 
    e.getMessage(); 
} 

// Till 4.1 (JB), StatusBarManager collapse method did the job but from 
// 4.2 it's been 
// changed to collpasePanels, so perform the job accordingly 
if (Build.VERSION.SDK_INT <= 16) { 
    Method collapseMethod = null; 

    try { 
     collapseMethod = statusbarManager.getMethod("collapse"); 
    } catch (NoSuchMethodException e) { 
     e.getMessage(); 
    } 

    collapseMethod.setAccessible(true); 

    try { 
     collapseMethod.invoke(service); 
    } catch (IllegalArgumentException e) { 
     e.getMessage(); 
    } catch (IllegalAccessException e) { 
     e.getMessage(); 
    } catch (InvocationTargetException e) { 
     e.getMessage(); 
    } 
} else { 
    Method collapsePanelsMethod = null; 

    try { 
     collapsePanelsMethod = statusbarManager 
       .getMethod("collapsePanels"); 
    } catch (NoSuchMethodException e1) { 
     e1.getMessage(); 
    } 

    collapsePanelsMethod.setAccessible(true); 

    try { 
     collapsePanelsMethod.invoke(service); 
    } catch (IllegalArgumentException e) { 
     e.getMessage(); 
    } catch (IllegalAccessException e) { 
     e.getMessage(); 
    } catch (InvocationTargetException e) { 
     e.getMessage(); 
    } 
} 

}

0

你使用類似

NotificationManager mNM = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); 
mNM.cancelAll(); 
+0

CancelAll()方法將取消所有先前顯示的通知。但我們的要求是我們正在滑下通知抽屜。一旦在該通知中點擊該按鈕,我們必須滑動該通知抽屜。如何做到這一點programmatic-ally .. –

相關問題