Я совершенно новичок ie в AndroidStudio, но мне нужно создать приложение, подключающееся к stm32.
Прежде всего, я просто хотел узнать, как создать приложение, которое отправляет сигнал модуль, поэтому я смотрел этот учебник на YouTube: https://www.youtube.com/watch?v=TLXpDY1pItQ
Я сделал все шаг за шагом, и вдруг я получил такую ошибку:
W/BluetoothAdapter: getBluetoothService() called with no BluetoothManagerCallback
W/System.err: java.io.IOException: read failed, socket might closed or timeout, read ret: -1
at android.bluetooth.BluetoothSocket.readAll(BluetoothSocket.java:762)
at android.bluetooth.BluetoothSocket.readInt(BluetoothSocket.java:776)
W/System.err: at android.bluetooth.BluetoothSocket.connect(BluetoothSocket.java:399)
at com.example.quiz.MainActivity2.onCreate(MainActivity2.java:52)
at android.app.Activity.performCreate(Activity.java:7232)
at android.app.Activity.performCreate(Activity.java:7221)
W/System.err: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1272)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2964)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3119)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
W/System.err: at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1839)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:201)
W/System.err: at android.app.ActivityThread.main(ActivityThread.java:6864)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)
И мой код выглядит так:
package com.example.quiz;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.bluetooth.BluetoothSocket;
import android.os.Bundle;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.google.android.material.snackbar.Snackbar;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import android.view.View;
import android.widget.Button;
import java.io.IOException;
import java.util.UUID;
public class MainActivity2 extends AppCompatActivity {
static final UUID mUUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");
BluetoothSocket btSocket = null;
BluetoothAdapter bluetoothAdapter;
Button buttonLED;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
//przycisk
buttonLED = findViewById(R.id.buttonL);
//adapter
bluetoothAdapter = bluetoothAdapter.getDefaultAdapter();
//moduł
final BluetoothDevice hc05 = bluetoothAdapter.getRemoteDevice("98:D3:31:FC:17:90");
//socket
int counter = 0;
do {
try {
btSocket = hc05.createRfcommSocketToServiceRecord(mUUID);
btSocket.connect();
System.out.println(btSocket.isConnected());
} catch (IOException e) {
e.printStackTrace();
}
counter++;
} while(!btSocket.isConnected() && counter < 3);
try {
btSocket.close();
System.out.println(btSocket.isConnected());
} catch (IOException e) {
e.printStackTrace();
}
buttonLED.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
System.out.println(btSocket);
}
});
}
}
Я не знаю, что не так с этим кодом, потому что в этом уроке все работало. Не могли бы вы помочь мне?