问题是当我安装应用程序并使用它时,它会在应用程序图标上显示计数徽章。现在,当我卸载应用程序(在应用程序图标上显示计数徽章时)并重新安装应用程序时,它再次在应用程序图标上显示徽章计数。
(注意:- 卸载应用程序时显示最后的徽章计数)
我的问题是:
为什么重新安装应用程序后显示徽章计数?
卸载应用程序不会清除其全部数据吗?
卸载应用程序时可以清除徽章计数吗?
如果不可能,那么任何人都可以为我提供任何相同的链接吗?
我在以下链接的帮助下整合了徽章计数:-
问题是当我安装应用程序并使用它时,它会在应用程序图标上显示计数徽章。现在,当我卸载应用程序(在应用程序图标上显示计数徽章时)并重新安装应用程序时,它再次在应用程序图标上显示徽章计数。
(注意:- 卸载应用程序时显示最后的徽章计数)
我的问题是:
为什么重新安装应用程序后显示徽章计数?
卸载应用程序不会清除其全部数据吗?
卸载应用程序时可以清除徽章计数吗?
如果不可能,那么任何人都可以为我提供任何相同的链接吗?
我在以下链接的帮助下整合了徽章计数:-
您链接的问题/答案实际上有关于如何清除徽章的答案。
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();
}
阅读原始问题/答案以获取更多信息