安卓开发语音对讲机,一点击说话按钮就闪退

就是对讲机有个按钮,基本上第一次登陆的时候,点击就闪退,第二次之后就会好很多(如果不闪退的情况下,连续使用基本不会闪退),但是偶尔也闪退,退出软件一会,再登陆的时候还是闪退,我实在是搞不明白了,贴上部分代码,求大神赐教!
后台处理:  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)

有懂的大神请帮忙,不胜感激!
还需要什么文件代码请留言!

安卓开发语音对讲机,一点击说话按钮就闪退

时间: 2024-12-20 17:34:02

安卓开发语音对讲机,一点击说话按钮就闪退的相关文章

.Net程序员快速学习安卓开发-布局和点击事件的写法

关注今日头条-做全栈攻城狮,学代码也要读书,爱全栈,更爱生活.提供程序员技术及生活指导干货. 本系列课程 致力于老手程序员可以快速入门学习安卓开发.系统全面的从一个.Net程序员的角度一步步学习总结安卓开发. 上篇课程:全栈工程师必备:安卓移动端手机开发,第六课 主要内容: 布局 点击事件 布局 说到安卓前台页面的开发,就不得不说安卓的布局.也就是具体那个控件应该摆放的位置. 1.1相对布局 我们新建一个layout布局文件时,默认就是相对布局.相对布局是相对于非相对布局来说的.顾名思义,相对布

安装Android SDK时,点击SDK Manager.exe闪退,并且jdk的环境变量是对的。

前提:我的jdk的环境变量是正确的,同时我的jdk还是1.7应该不是版本太低的原因,同时这个压缩文件是好的,我在其他的电脑上可以运行SDK Manager.exe. 点击SDK Manager.exe时会出现dos窗口然后窗口就关闭了.然后我在dos下运行android.bat出现了错误.出现了上面的错误 希望大家可以帮我解答,谢谢啦. 答案:先用管理员身份运行SDK Manager.exe,这时候会出现闪退,再在解压之后的SKD文件夹里搜索 android.bat , 双击运行,这时候应该就会

VS2017 Xamarin开发Android时首次部署完成后直接闪退

项目属性切换到Android选项,在打包属性上有一个[使用共享运行时]的选项要取消勾选,默认打钩时apk文件比较小,但程序无法运行起来. 取消后安装包一小变成几十M,这个目前好像没什么好的解决办法,毕竟要安装.net的相关东西到手机上才能更快更好的执行程序.

安卓编程之自定义字体控件导致应用闪退

这坑踩的是结结实实,近来做项目,需要用到自定义字体,一个项目中近十种字体,果断选择了使用自定义控件来实现. 可是,大功告成之后,在性能较差的手机上去运行时,反复切换页面,应用闪退了,log没有有效的信息给到,百思不得其解啊. 解决方案: 在自己封装的MyApplication中,将自定义的字体的Typeface这个对象全局化. 然后,在自定义控件中使用全局的字体对象. 到这里,这个问题基本解决. 总结如下: 当app界面跳转时没有完美运行自己写的动画效果,给人以卡顿的效果,那么就说明主线程中有耗

tomcat点击Tomcat7.0.exe闪退

今天在处理windows 服务器上处理tomcat的时候,突然发现tomcat.exe执行闪退,查了一下百度,说是jre和jdk的配置有问题,但是在服务器上面的东西没有进行修改和改动. 查了很多文档,最终在日志文件中发现tomcat在启动的时候提示找不到jre的目录,顺着jre的目录去查找了一下,发现jre的版本被更新了,最终的解决办法就是: 修改tomcat启动的jre文件目录,修改成和jdk对应的jre版本. 重启tomcat成功. 原文地址:https://www.cnblogs.com/

程序员带你学习安卓开发系列-Android文件存储

这是程序员带你学习安卓开发系列教程.本文章致力于面向对象程序员可以快速学习开发安卓技术. 上篇文章:.Net程序员快速学习安卓开发-布局和点击事件的写法 主要讲解了布局和点击事件的写法. 上篇文章补充: 控件单位介绍: px 像素 dip或者dp 设备独立像素 sp 比例像素 控件的高度宽度一般用dip或者dp.字体用sp. Android 存储数据项目: 描述:实现QQ登录效果.如图: 输入帐号密码,并勾选记住帐号 ,点击登录时,保存帐号信息.下次登陆可以直接显示上次保存的QQ帐号. 前台界面

【Android接百度地图API】百度地图Demo点击按钮闪退

运行百度地图自带的BaiduMap_AndroidSDK_v4.1.0_Sample里面的BaiduMapsApiASDemo发现点击上面的按钮会闪退,控制台报的是xml的问题 查了一下,官方文档特别交代了要加入SDKInitializer.initialize(getApplicationContext()); 但是Demo里面没有,因而要加上. 即可解决Demo的Bug.

JAVA Eclipse开发Android程序会经常闪退是怎么回事

类没有new就直接用会闪退,比如下面我在前面声明了ClientSocket的类,点击连接按钮之后,如果不先new就直接Connect就会闪退 ? 你在当前页面创建findViewById的时候,如果找不到指定的ID也会闪退,比如我要查找指定的ID为btnMoveL_SetA,当写错的时候也会有问题,而XML本身不会报错,假如ID确实存在,只不过不在这个页面的话. ? 还有必须是点击按钮之后,根据ID寻找界面控件-获取控件内容-转换成字符串/文本,而不能在界面onCreate的时候完成第一步的绑定

【安卓开发】点击按钮实现跳转

昨晚第三次实习课上完了,老师讲了好多内容,初学者表示听的一头雾水,老师上课把功能实现行云流水般过了一遍,到自己敲代码的时候满脑子空白,眼疾手拙. 于是乎好不容易才折腾出点击按钮实现页面跳转的小小功能! 假如有两个布局页面,gg.xml和jj.xml,gg里面有一个button,要实现点击gg的button跳转到jj页面就要首先MainActivity关联gg,然后给gg里面的button添加点击事件,最后在ActivityTwo中关联上jj就好了.最后还要在AnroidManifest.xml文