2011-04-28 1 views
0

을 알면 사용자가 상태 표시 줄 알림을 열고 보면서 지우기 (모든 상태 표시 줄 알림을 지움)를 클릭하면 지워지는 상태 표시 줄 알림에 대해 알림이 표시되며, 그렇다면 어떻게 표시됩니까?
그렇지 않으면 응용 프로그램의 상태 표시 줄 알림 중 하나가 사용자에게 Clear'ed되어 있다는 것을 응용 프로그램에서 어떻게 알 수 있습니까? (나는 어딘가에 알림의 상태를 폴링하는 방법이 있다고 생각하지만, 그것을 폴링하지 않고 대신 Clear'ed 일 때 알려주는 것을 선호한다)사용자가 응용 프로그램의 상태 표시 줄 알림 중 하나 인 응용 프로그램 상태 알림

답변

1

서비스를 사용할 때 아마도 단일 알림을 사용하고 해당 플래그를

notification.flags |= Notification.FLAG_ONGOING_EVENT | 
    Notification.FLAG_NO_CLEAR; 

으로 설정하면 진행중인 알림 그룹에 포함될 수 있고 지울 수 없습니다. 이렇게하면 언제, 무엇을 표시할지, 숨길 지 등을 관리 할 수 ​​있습니다. 또한 이로 인해 gc가 서비스 리소스를 통해 호출되지 않습니다.

+0

내가 언젠가 누군가가이 깨진 캡슐화 문제를 해결하려고 할 때 이것을 위해 사용할 수있는 방법이 있습니까? – inor

+0

무슨 뜻인지 모르겠다. 'setupNotification' 메쏘드를 만들 수 있으며, 다른 기본 설정들도 이것을 설정할 수 있습니다. 나는 당신의 질문을 잘못하지 않았기를 바랍니다. – rekaszeru

+0

1) 괜찮습니다. 그냥 플래그가 공개해서는 안됩니다 - 나쁜 디자인 (깨진 캡슐) 그리고 난 오히려 내 코드에서 직접 조작하지 싶지만 다른 선택의 여지가없는 것 같아요 2) 정말 내 질문에 대한 답변을 얻지 못했습니다 . 하지만 당신은 내 임시 답변을 얻을 때까지 좋은 임시 솔루션을 제공했다. (사용자 코드가 내 사과 알림을받는 한 내 사용자 클리어는 상관 없다.) 3) 답장을 보내 주셔서 감사합니다. 나는 당신에게 그것을 신용 할 것이다 :-) – inor