마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

notification 질문이요.

0 추천

GCM 서버로부터 메시지를 수신하고 Noti 띄우고 클릭하면 Activity까지 띄우는 것은 잘됩니다.

현재 GCM 메시지 수신시 진동 및 사운드 발생도 잘되는데 이 진동과 사운드를 유저가 noti를 클릭할 때까지 주기적으로 계속 발생되게끔 하려고 합니다. 그래서 IntentService내에서 최초 메시지 수신시 주기적으로 이벤트를 발생시켜서 진동이 발생되는 것까지는 했는데요. noti를 클릭했거나 사라졌을때 이것들을 멈춰줘야 하는데 어찌해야 할지 모르겠습니다.

대략의 소스는 아래와 같습니다.

protected void onHandleIntent(Intent arg0)

{
if(vib == null) vib = (Vibrator)this.getSystemService(Context.VIBRATOR_SERVICE);
if(pattern == null) pattern = new long[] {0, 500};
 
Message message = mHandler.obtainMessage(0);
mHandler.sendMessageDelayed(message, 5000);  // 5초마다 한번씩
}
 
Handler mHandler = new Handler()
{
public void handleMessage(Message msg)
{
if(msg.what == 0)
{
vib.vibrate(pattern, -1);
mHandler.sendEmptyMessageDelayed(0, 5000);
}
}
};

 

hyperhand (330 포인트) 님이 2014년 9월 19일 질문

1개의 답변

0 추천
 
채택된 답변
preference 쓰세요.

노티 받으면 true, 클릭하면 false 로 바꾸면 될 것 같아요
쎄미 (162,410 포인트) 님이 2014년 9월 19일 답변
hyperhand님이 2014년 9월 20일 채택됨
...