0

我試圖通過編程從狀態欄中清除未接來電通知,但無法實現此目的。我會感謝任何幫助。如何清除狀態欄中的未接來電通知

編輯: 似乎像SDK不讓我直接做。你們可以向我推薦任何解決方法嗎? 謝謝!

回答

4

您只能刪除自己撫養的Notification。您不能刪除由另一個應用程序引發的Notification。抱歉!

0

This可以幫到你。特別是這一段可能包括你正在尋找的東西;

要在用戶從通知窗口中選擇狀態欄通知時清除狀態欄通知,請將FLAG_AUTO_CANCEL標誌添加到您的通知中。您也可以使用cancel(int)手動清除它,將通知ID傳遞給它,或者用cancelAll()清除所有通知。

+0

可以,我想清除系統/手機應用程序生成的未接電話通知。我想這對我不起作用,謝謝你的回覆。 – Aleyna

0

唯一的「合法」,但非常醜陋,通常無用的方式來實現你想要的是向用戶顯示呼叫日誌。我的意思是字面上顯示(變成視覺,獲得焦點)。如果你想這樣做,這裏是如何:

public static boolean showCallLog(Context context) 
{ 
    try 
    { 
     Intent showCallLog = new Intent(); 
     showCallLog.setAction(Intent.ACTION_VIEW); 
     showCallLog.setType(android.provider.CallLog.Calls.CONTENT_TYPE); 
     context.startActivity(showCallLog); 
     return true; 
    } 
    catch (Exception e) 
    { 
     Log.d("Couldn't show call log.", e.getMessage()); 
    } 
    return false; 
} 

這個爛攤子背後的原因是,應用程式負責呼叫記錄使用的緩存值的事實。您需要以某種方式通知那些呼叫日誌已更改的應用程序(看起來意味着已更改),並且應更新它。如果所有設備上的所有這些應用程序都會收到廣播以刷新,那將會很不錯,但據我所知,情況並非如此。