首页 > 代码库 > 安卓开发语音对讲机,一点击说话按钮就闪退
安卓开发语音对讲机,一点击说话按钮就闪退
就是对讲机有个按钮,基本上第一次登陆的时候,点击就闪退,第二次之后就会好很多(如果不闪退的情况下,连续使用基本不会闪退),但是偶尔也闪退,退出软件一会,再登陆的时候还是闪退,我实在是搞不明白了,贴上部分代码,求大神赐教!
后台处理: chatButton就是那个点击的按钮
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.chat);
recorder = new AudioRecorder();
int groupId = 0;
audioManager = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE);
onlineNum = (TextView) findViewById(R.id.online_num);
groupName = (TextView) findViewById(R.id.group_name);
name=(TextView)findViewById(R.id.name);
groupPhone=(TextView)findViewById(R.id.leader_phone);
phone = (TextView) findViewById(R.id.phone);
groupOwnerName = (TextView) findViewById(R.id.leader_name);
chatButton = (ImageView) findViewById(R.id.chat_button);
loudSpeaker = (ToggleButton) findViewById(R.id.loudspeaker);
manageButton = (ImageView) findViewById(R.id.manage_button);
micoInfo = (TextView) findViewById(R.id.mico_info);
name.setText(Constant.getCurrentUser().name);
phone.setText(Constant.getCurrentUser().phone);
chatButton.setOnClickListener(this);
chatButton.setOnTouchListener(new OnTouchListener()
{
@Override
public boolean onTouch(View v, MotionEvent event)
{
switch (event.getAction())
{
case MotionEvent.ACTION_UP:
stopSpeaking();
break;
case MotionEvent.ACTION_DOWN:
TcpWrapper.sendCommand(Constant.TYPE_ROB_MIC);
micoInfo.setText("抢麦中……");
break;
}
return false;
}
});
sendCommand方法:
public static void sendCommand(short messageId)
{
try
{
if (out == null)
{
reconnectSocket();
}
Log.d(TAG, "sendCommand():messageId=" + messageId);
byte[] packet = new byte[3];
System.arraycopy(Utils.getBytes(messageId), 0, packet, 0, 2);
packet[2] = (byte) 0;
out.write(packet);
out.flush();
}
catch (IOException e)
{
Log.e(TAG, "写入服务器数据异常:" + e.getMessage());
//关闭写出流
try
{
if (out != null)
{
out.close();
out = null;
}
}
catch (IOException ie)
{
Log.e(TAG, "关闭写出流异常:" + ie.getMessage());
}
}
catch (NullPointerException e)
{
Log.e(TAG, "写入服务器数据异常:" + e.getMessage());
}
}
logcat中错误就报了一句话:
07-24 14:12:40.938: A/libc(1661): Fatal signal 8 (SIGFPE) at 0x0000067d (code=-6), thread 1934 (Thread-9866)
有懂的大神请帮忙,不胜感激!
还需要什么文件代码请留言!