2010-05-25 3 views
43

iPhone에서는 번호가 매겨진 배지를 응용 프로그램 아이콘에 추가 할 수 있습니다. 블랙 베리에서, 나는 프로그램에서 이미지를 성공적으로 그려 넣었다. 나는 안드로이드를 위해서도 이것을하고 싶다. 즉시 알림을 받아야하는 것은 아니기 때문에 알림 표시 줄을 사용하고 싶지 않습니다. 대신 사용자가 응용 프로그램 아이콘을보고 응용 프로그램에 얼마나 많은 새 메시지가 있는지 확인할 수 있기를 바랍니다.Android의 애플리케이션 아이콘에 배지를 추가 할 수 있습니까?

+1

해결 방법을 찾으셨습니까? –

+0

이것은 내가 찾은 최고의 솔루션입니다. http://stackoverflow.com/a/24804467/957954 –

+0

내 삼성 메모 5 Skype, Whatsapp 및 Facebook에 대한 그들을 보여줍니다. 그래서 가능해야합니다. – Zapnologica

답변

30

안타깝게도 Android는 프로그램을 컴파일하고 나면 APK에서 봉인되어 있기 때문에 애플리케이션 아이콘을 변경할 수 없습니다. 프로그래밍 방식으로 '드로어 블'로 변경할 방법이 없습니다.

아이콘 대신 위젯을 사용하여 목표를 달성 할 수 있습니다. 위젯은 사용자 정의가 가능하며 원하는 것을 할 수 있습니다.

여기에 아이폰의 아이콘 알림 및 사용하여 위젯의 차이에 대한 간단한 설명이있다 :

http://www.cnet.com/8301-19736_1-10278814-251.html

당신이 알 수 있듯이, 위젯 또는 아이콘을 사용하여 사이에 거의 차이가 있기 때문에,이없는 사람들 같은 크기 일 수 있고 똑같을 수 있습니다.

+1

+1, 위젯은 groomsy의 요구에 필요한 것입니다. –

+1

Launcher의 홈 화면을 하이재킹하고 이미지에 배지를 bit-blt하는 방법이 없다고 확신합니까 ?? 나는 동일한 기능을 원하고 appwidget은 다른 문제에 대한 다른 해결책이다. 누구나 내 위젯을 버릴 수는 있지만, 앱을 제거하지 않으면 아이콘이 영원히 유지됩니다. 진저 브레드에서 OS 레벨 변경은 Eclair/Froyo 일에 다시 질문 되었기 때문에? – mobibob

+0

메시지를 좋아하는 앱은 어떻습니까? 'BadgeProvider'는 어떻습니까? – minmaxavg

16

이 작업은 Sony의 Xperia Home에서도 수행 할 수 있습니다. 나는 그것에 대해 블로그를했습니다 here,하지만 중요한 부분은 아래 있습니다. Sony 장치는 BadgeReciever이라는 클래스를 사용합니다.

  1. 는 매니페스트 파일에 com.sonyericsson.home.permission.BROADCAST_BADGE 권한을 선언 :

  2. 브로드 캐스팅 IntentBadgeReceiver에 :

    Intent intent = new Intent(); 
    
    intent.setAction("com.sonyericsson.home.action.UPDATE_BADGE"); 
    intent.putExtra("com.sonyericsson.home.intent.extra.badge.ACTIVITY_NAME", "com.yourdomain.yourapp.MainActivity"); 
    intent.putExtra("com.sonyericsson.home.intent.extra.badge.SHOW_MESSAGE", true); 
    intent.putExtra("com.sonyericsson.home.intent.extra.badge.MESSAGE", "99"); 
    intent.putExtra("com.sonyericsson.home.intent.extra.badge.PACKAGE_NAME", "com.yourdomain.yourapp"); 
    
    sendBroadcast(intent); 
    
  3. 을 완료. 이 Intent이 브로드 캐스팅되면 시작 프로그램이 응용 프로그램 아이콘에 배지를 표시해야합니다.

  4. 다시 배지를 제거하려면, 단순히 false로 SHOW_MESSAGE 세트로 새로운 방송이 시간을 보내

    intent.putExtra("com.sonyericsson.home.intent.extra.badge.SHOW_MESSAGE", false); 
    

나는 짧은 대답을 유지하기 위해 나는이 발견 방법에 대한 세부 사항을 제외했습니다 , 그러나 그것 모두는 blog에서 이용할 수있다. 누군가를위한 재미있는 읽을 거리가 될 수도 있습니다.

나는 또한 here에 대한 별도의 질문을 올렸으며 한 번 허용되면 (8 시간 이내에 내 자신의 질문에 대한 평판을 10 개 필요로 함) 허용됩니다.

0

가 여기에 그것을 수행하는 방법은 다음과 같습니다

나는 LG 런처에 그것을 할 수있는 방법도 있다고 생각하지만, 어떻게 아직 발견되지 않은 .

9

ShortcutBadger 라이브러리는 LG, Sony, Samsung, HTC 및 기타 맞춤 실행 프로그램에서 가능하며 작동합니다.

순수 안드로이드 기기의 바탕 화면에 배지 개수를 표시하는 방법조차 있습니다. 배지는 응용 프로그램 아이콘에 카운트 업데이트

는 전화처럼 쉽게 :

int badgeCount = 1; 
ShortcutBadger.setBadge(getApplicationContext(), badgeCount); 

그것은 당신이 그 동작을 테스트 할 수있는 데모 애플리케이션을 포함한다.

또는

당신은 또한 이렇게하는 활동 별명을 시도 할 수 있습니다,하지만 당신이 배지 값으로 다른 아이콘을 생성해야합니다, 그것은 (당신이 개 다른 앱 아이콘 사이를 전환 할 필요가 문자를 구분에서 잘 작동합니다 다른 아이콘 즉, 더 많은 아이콘 = 더 많은 활동 별칭을 표시하기 위해 다른 활동 별명을 작성해야합니다.

+0

저는 ShortcutBadger의 zip 파일을 다운로드하고 AndroidStudio로 가져 왔습니다. 제공된 EditText에 10을 입력하면 토스트 메시지가 표시됩니다. 그러나 아무것도 아이콘에 표시되지 않습니다. 우리가해야 할 일 –

+0

죄송합니다. 요점을 얻지 마십시오. 정확히 원하는 것을 명확히하십시오., ........ shorcutBadger를 사용하여 배지를 설정하는 방법을 지정했습니다. –

+0

Android Studio로 가져온 후 ShortcutBadger가 성공적으로 실행됩니다. 내 질문은 "EditText에 숫자를 입력하고 BADGE 버튼을 클릭하면 실행기의 App에 배지가 표시되지 않습니다."입니다. 왜 내가이 배지를 볼 수 없습니까? –