2010-05-10 4 views
3

안녕하세요. 한 알림 서비스를 한 번봤을 때 상태 표시 줄에 알림 서비스를 표시하고 싶지 않습니다. 예를 들어 20km를 초과하는 사람을 표시하고 있습니다. 내 위치. 어떤 사람들이 표시됩니다. 한번봤을 때 자동으로 상태 표시 줄의 아이콘이 표시되지 않습니다.이게 나에게 몇 가지 제안을하십시오. 미리 감사드립니다.알림을 한 번 표시 한 후에 알림을 표시하지 않습니다.

+0

정말 질문을 이해하지 않습니다. 그것을 바꿔 말할 수 있습니까? – synic

+0

* * 사용자가 앱에서 이전 알림을 삭제하면 향후 알림 표시를 막는 것이 문제입니다. –

답변

1

사용자가 이전 알림 중 하나를 지우면 알림을 표시하지 않도록 설정하는 경우,이를 모니터링하기 위해 자체 데이터 구조를 유지 관리해야 할 수 있습니다.

아이디어는 다음과 같습니다

  • 스토어 이미 본되었음을 사용자에게 통지를 나타내는 해시 테이블/HashSet의/다른 데이터 구조.
  • 알림을 표시하기 전에 해시 테이블 –을 확인한 다음 표시하지 않습니다. 그렇지 않으면 표시하십시오.
  • 알림을 표시 할 때 해시 테이블에 추가하십시오.
  • 해시 테이블을 너무 자주 플러시합니다.

Notification.deleteIntent을 살펴볼 수도 있습니다.

주의 :이 작업을 수행하기 전에 이것이 실제로 필요한지 고려하십시오. 알림 ID를 다시 사용하여 표시되는 알림을 단순히 축소하는 것으로 충분할 수 있습니다.

1

나는이 작업을 수행 :

SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this); 
boolean used = sp.getBoolean("notif_used", false); 

if (used) 
return; 
else { 
/* show the notification */ 
Editor editor = getSharedPreferences().edit(); 
editor.putBoolean("notif_used", true); 
editor.commit(); 
} 
관련 문제