fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { try { String host = "192.168.4.1"; int port = 2390; byte[] message = "Som tu".getBytes(); InetAddress address = InetAddress.getByName(host); DatagramPacket packet = new DatagramPacket(message, message.length, address, port); DatagramSocket dSocket = new DatagramSocket(); dSocket.send(packet); dSocket.close(); } catch(Exception e){ speak("error"); } Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); intent.putExtra(RecognizerIntent.EXTRA_MAX_RESULTS,3); mySpeechRecognizer.startListening(intent); } });我正在尝试创建 android 应用程序,该应用程序将在按下按钮时通过 udp 发送文本,但它总是最终被捕获..任何想法为什么?我也得到 Error: E/HAL: load: id=gralloc != hmi->id=gralloc 但我不知道如何解决它。有没有我忘记的许可?我只使用(RECORD_AUDIO,INTERNET)
1 回答
拉丁的传说
TA贡献1789条经验 获得超8个赞
查看您的代码,我假设您正在获得一个NetworkOnMainThreadException
. Android 不允许在其主线程上进行网络活动,以保持应用程序响应。为避免此错误,请在您的onClick
方法中启动一个新线程并在那里执行网络活动
添加回答
举报
0/150
提交
取消