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

알림음&dialog 손좀봐주세요~

0 추천
채팅앱인데요~  메시지가 수신되었을때 알림음과 진동이 뜨고 대화상자가 뜨게됩니다.

하지만 지금 제 코딩으로는, 수신받았을시 다이얼로그가 무진장많이뜨는데, 한번만 뜨게할수있을까요??

그리고 알림음을 다이얼로그에서 확인버튼을 누를때까지만 나오도록 설정할수있는방법이있을까요??

코딩은 수신부는 이렇습니다

--------------------------------------------------------------------------------------------------------------------------------------

case MESSAGE_READ:
                byte[] readBuf = (byte[]) msg.obj;
                // construct a string from the valid bytes in the buffer
                String readMessage = new String(readBuf, 0, msg.arg1);
                mConversationArrayAdapter.add(mConnectedDeviceName+":  " + readMessage);
                //진동
                Vibrator vibrator = (Vibrator)getSystemService(Context.VIBRATOR_SERVICE);
                long milliseconds = 2000;
                vibrator.vibrate(milliseconds);
                //알림음
                //int play(int soundID, float leftVolume, float rightVolume, int priority, int loop, float rate)
                //soundId= load가리턴한 식별자, Volume=사운드크기, loop=반복모드, 지정값+1회, -1이면 무한반복
                //rate= 1정상속도, 0.5중간속도, 2 2배속도
                beep.play(bee,1,1,0,-1,2);
                //대화상자
                AlertDialog.Builder ab = null;
                ab = new AlertDialog.Builder( BluetoothChat.this );
                ab.setMessage( "아이상태를 확인하세요!!!!");
                ab.setPositiveButton(android.R.string.ok, null);
                ab.setTitle( "Smart Crib" );
                ab.show();
                break;
sn1883 (860 포인트) 님이 2014년 5월 30일 질문
혹시 저 부분을 호출하는곳에서 여러번 호출하지는 않나요??
-스레드에서 while 문으로 할경우 중복 체크를 해주세요 안그러면 가끔 반복작업으로 처리될때가 있더군요 아마 처리속도보다 리프레시 속도가 더 빠를경우 발생하는것 같습니다 (제 개인적인 생각이므로 확답은아닙니다)

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...