2014-06-05 33 views
2

問題是當我安裝應用程序並使用它時,它顯示應用程序圖標上的計數徽章。現在,當我卸載應用程序(在應用程序圖標上顯示計數徽章時),並重新安裝應用程序時,它會再次在應用程序圖標上顯示徽章計數。如何在android中清除數據並卸載應用程序後清除計數標誌?

(注: - 它ISS表示將在未安裝的應用程序最後徽章計數)

我的問題是:

  1. 爲什麼後重新安裝應用程序顯示徽章計數?

  2. 請不要卸載應用程序不清除其整個數據?

  3. 當我卸載應用程序時,可以清除徽章數量嗎?

如果它不可能,那麼任何人都可以爲我提供任何相同的鏈接?

enter image description here

我綜合徽章計數用以下鏈接的幫助: -

How to interface with the BadgeProvider on Samsung phones to add a count to the app icon?

+0

你是怎麼添加徽章? 如果應用程序從未運行,重新安裝後,您將不會收到任何通知,直到它第一次運行,所以您無法清除徽章。我有與iOS相同的問題。這裏的想法是,用戶不會像開發人員那樣經常卸載/重新安裝 –

+0

是這個應用程序嗎? 「徽章」可能是應用程序正在使用的數據,存儲在某個SD卡上。它意味着什麼。你的問題很難理解。 – Doomsknight

+0

@Doomsknight他意味着當他貼上徽章,然後卸載,然後重新安裝,應用程序應該「乾淨」,但徽章出現 –

回答

1

的提問/回答您鏈接實際上對如何清除徽章答案。

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(); 
    } 

更多信息閱讀原始提問/回答

+0

已經使用此方法,但如果用戶在同一時間打開應用程序,但以上方法工作正常。如果用戶完成並進入主屏幕,然後顯示徽章。 – duggu

相關問題