的提問/回答您鏈接實際上對如何清除徽章答案。
ContentValues cv = new ContentValues();
cv.put("badgecount", 0);
getContentResolver().update(Uri.parse("content://com.sec.badge/apps"), cv, "package=?", new String[] {getPackageName()});
https://stackoverflow.com/a/20136484/940834
因此,只要適當地調用此方法來清除徽章。
例如,檢查第一次加載應用程序,因爲全新安裝,然後申請。
// CHECK IF FIRST LOAD
if(!PreferenceManager.getDefaultSharedPreferences(this).contains("NOTFIRSTLOAD"))
{
ContentValues cv = new ContentValues();
cv.put("badgecount", 0);
getContentResolver().update(Uri.parse("content://com.sec.badge/apps"), cv, "package=?", new String[] {getPackageName()});
// Store that its not first load
PreferenceManager.getDefaultSharedPreferences(this).edit().putInt("NOTFIRSTLOAD", 1).commit();
}
更多信息閱讀原始提問/回答
你是怎麼添加徽章? 如果應用程序從未運行,重新安裝後,您將不會收到任何通知,直到它第一次運行,所以您無法清除徽章。我有與iOS相同的問題。這裏的想法是,用戶不會像開發人員那樣經常卸載/重新安裝 –
是這個應用程序嗎? 「徽章」可能是應用程序正在使用的數據,存儲在某個SD卡上。它意味着什麼。你的問題很難理解。 – Doomsknight
@Doomsknight他意味着當他貼上徽章,然後卸載,然後重新安裝,應用程序應該「乾淨」,但徽章出現 –