android 用蓝牙和hc06连接,一按按钮就显示停止运行

windyNight99 2019-12-20 09:12:59
做android编程,想做一个与hc06蓝牙模块通讯的程序,界面上只有了一个连接蓝牙的按钮,暂时用固定的mac地址。但是每次调试的时候,一按按钮就显示已停止运行,然后hc06上的指示灯常亮,程序关掉就继续闪灯,我猜是连接之后出了什么问题,停止运行了。(我以前是用c++,虽然我觉得java和c++差不多吧,但是现在用java也不太会弄,找错误也不会)
我因为只有一个连接蓝牙的按钮,别处除了有一个定义,我也没写其他代码,所以我就只把响应按钮的代码放上来了,然后我刚才说的定义在下面

BluetoothSocket mSocket;
//上面这句我放在了onCreate的外面,其实我也不知道到底该放在哪

public void onconbtnClick(View v) {
final BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
if (mBluetoothAdapter == null) {
// device doesn't support Bluetooth
Toast.makeText(MainActivity.this,"该设备不支持蓝牙。" , Toast.LENGTH_SHORT).show();
return;
}
if (!mBluetoothAdapter.isEnabled()) {
/*Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);*/
final AlertDialog.Builder normalDialog =
new AlertDialog.Builder(MainActivity.this);
normalDialog.setTitle("蓝牙未开启");
normalDialog.setMessage("蓝牙未开启。是否要开启蓝牙?");
normalDialog.setPositiveButton("确定",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Intent intent = new Intent(Settings.ACTION_BLUETOOTH_SETTINGS);
startActivity(intent);
}
});
normalDialog.setNegativeButton("关闭",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//...To-do
}
});
normalDialog.show();
return;
}
String macAddr = "00:19:10:08:0D:6A";
final BluetoothDevice device = mBluetoothAdapter.getRemoteDevice(macAddr);
UUID uuid = UUID.fromString("00001101-0000-1000-8000-00805f9b34fb");


try {
mSocket = device.createRfcommSocketToServiceRecord(uuid);
} catch (IOException e) {
e.printStackTrace();
}
mBluetoothAdapter.cancelDiscovery();
new Thread(){
@Override
public void run() {
mBluetoothAdapter.cancelDiscovery();
try {
mSocket.connect();
} catch (IOException e) {
try {
mSocket.close();
} catch (IOException e1) {
e1.printStackTrace();
}
e.printStackTrace();
}
super.run();
}
}.start();
try {
OutputStream os = mSocket.getOutputStream();
os.write("发送的数据".getBytes());
} catch (IOException e) {
e.printStackTrace();
}
}
...全文
369 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
rookie_wang 2022-05-27
  • 打赏
  • 举报
回复

大佬有源码吗

windyNight99 2020-07-30
  • 打赏
  • 举报
回复
https://blog.csdn.net/qq_42895379/article/details/82897510 大佬写的文章,挺好的
windyNight99 2020-07-30
  • 打赏
  • 举报
回复
引用 11 楼 小张小张,考试不慌 的回复:
咋解决的呀,我碰找了
停止运行是app崩溃了,导致app崩溃可能的原因有很多。加几个loge调试就能定位问题的位置。我这个代码出了问题,是后来换了一个代码好了
  • 打赏
  • 举报
回复
咋解决的呀,我碰找了
JMSissi 2020-01-07
  • 打赏
  • 举报
回复
你的单击事件没用上
JMSissi 2020-01-07
  • 打赏
  • 举报
回复
引用 9 楼 xianming3 的回复:
行了,我自己终于把它解决了,我结一下帖吧
很赞
windyNight99 2020-01-07
  • 打赏
  • 举报
回复
行了,我自己终于把它解决了,我结一下帖吧
windyNight99 2020-01-07
  • 打赏
  • 举报
回复
引用 7 楼 JMSissi 的回复:
你的单击事件没用上

不是单击事件的问题,现在问题是闪退
windyNight99 2020-01-05
  • 打赏
  • 举报
回复
怎么没人呢?
windyNight99 2019-12-28
  • 打赏
  • 举报
回复
这是上面日志前面的几行,我也不知道有没有用
2019-12-28 20:22:02.169 16413-16413/com.example.app2 V/BoostFramework: BoostFramework() : mPerf = com.qualcomm.qti.Performance@3c8e0e5
2019-12-28 20:22:02.302 16413-16413/com.example.app2 D/AndroidRuntime: Shutting down VM
2019-12-28 20:22:02.305 16413-16496/com.example.app2 W/BluetoothAdapter: getBluetoothService() called with no BluetoothManagerCallback
windyNight99 2019-12-28
  • 打赏
  • 举报
回复
2019-12-28 20:22:02.309 16413-16413/com.example.app2 E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.app2, PID: 16413
java.lang.IllegalStateException: Could not execute method for android:onClick
at androidx.appcompat.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:390)
at android.view.View.performClick(View.java:5647)
at android.view.View$PerformClick.run(View.java:22465)
at android.os.Handler.handleCallback(Handler.java:754)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:163)
at android.app.ActivityThread.main(ActivityThread.java:6238)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invoke(Native Method)
at androidx.appcompat.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:385)
at android.view.View.performClick(View.java:5647) 
at android.view.View$PerformClick.run(View.java:22465) 
at android.os.Handler.handleCallback(Handler.java:754) 
at android.os.Handler.dispatchMessage(Handler.java:95) 
at android.os.Looper.loop(Looper.java:163) 
at android.app.ActivityThread.main(ActivityThread.java:6238) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794) 
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void java.io.OutputStream.write(byte[], int, int)' on a null object reference
at android.bluetooth.BluetoothSocket.write(BluetoothSocket.java:606)
at android.bluetooth.BluetoothOutputStream.write(BluetoothOutputStream.java:85)
at java.io.OutputStream.write(OutputStream.java:75)
at com.example.app2.MainActivity.onconbtnClick(MainActivity.java:101)
at java.lang.reflect.Method.invoke(Native Method) 
at androidx.appcompat.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:385) 
at android.view.View.performClick(View.java:5647) 
at android.view.View$PerformClick.run(View.java:22465) 
at android.os.Handler.handleCallback(Handler.java:754) 
at android.os.Handler.dispatchMessage(Handler.java:95) 
at android.os.Looper.loop(Looper.java:163) 
at android.app.ActivityThread.main(ActivityThread.java:6238) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794)

红色字都在上面,我也不明白是什么意思帮忙给我看一下吧,能讲就顺便讲讲,谢谢
Ande Wang 2019-12-27
  • 打赏
  • 举报
回复
你APP运行崩溃退出的时候,在你的Android Studio LogCat里会有详细报错消息的 你把那个放出来看看。。
I'm an Android Dev 2019-12-27
  • 打赏
  • 举报
回复
你要把日志弄出来看看
windyNight99 2019-12-23
  • 打赏
  • 举报
回复
怎么没人呢?

80,492

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧