2014-06-05 3 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

질문/당신이 실제로 배지를 삭제하는 방법에 대한 답을 가지고 링크 대답합니다.

https://stackoverflow.com/a/20136484/940834

ContentValues cv = new ContentValues(); 
cv.put("badgecount", 0); 
getContentResolver().update(Uri.parse("content://com.sec.badge/apps"), cv, "package=?", new String[] {getPackageName()}); 

그래서 그냥 배지를 취소 적절하게이 메소드를 호출한다.

예를 들어 처음 새로 설치 한 이후 앱을 처음로드하는지 확인한 다음 적용합니다.

// 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

관련 문제