我的应用程序有问题。它已经在运行了,但现在我增加了蓝牙,从那以后页面不断崩溃。
所有10个类都有相同的结构,所有10个类都有相同的错误:
这个类应该提供一个默认的构造函数(没有参数的公共构造函数) (
com.example.feuerwerkzndanlage.empfaenger_1_zuenden)
代码活动:
package com.example.feuerwerkzndanlage;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import java.util.concurrent.atomic.AtomicInteger;
public class empfaenger_1_zuenden extends AppCompatActivity{
private final ConnectedThread mConnectedThread; // bluetooth background worker thread to send and receive data
public empfaenger_1_zuenden(ConnectedThread mConnectedThread){
this.mConnectedThread = mConnectedThread;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.empfaenger_1_zuenden);
Context context = getApplicationContext();
CharSequence back_txt = "Zurück!";
CharSequence rot_txt = "Zünden!";
CharSequence gruen_txt = "Reset!";
int a = 0;
AtomicInteger b = new AtomicInteger(0);
AtomicInteger c = new AtomicInteger(0);
AtomicInteger d = new AtomicInteger(0);
AtomicInteger e = new AtomicInteger(0);
AtomicInteger f = new AtomicInteger(0);
int duration = Toast.LENGTH_SHORT;
ImageView back = findViewById(R.id.back);
Button zuenden1_1 = findViewById(R.id.btn_zuenden1_1);
Button zuenden1_2 = findViewById(R.id.btn_zuenden1_2);
Button zuenden1_3 = findViewById(R.id.btn_zuenden1_3);
Button zuenden1_4 = findViewById(R.id.btn_zuenden1_4);
Button zuenden1_5 = findViewById(R.id.btn_zuenden1_5);
Button ruecksetzen = findViewById(R.id.btn_ruecksetzen);
ImageView kanal_1_1 = findViewById(R.id.kanal1_1);
ImageView kanal_1_2 = findViewById(R.id.kanal1_2);
ImageView kanal_1_3 = findViewById(R.id.kanal1_3);
ImageView kanal_1_4 = findViewById(R.id.kanal1_4);
ImageView kanal_1_5 = findViewById(R.id.kanal1_5);
back.setOnClickListener(view -> {
Toast.makeText(context, back_txt, duration).show();
startActivity(new Intent(empfaenger_1_zuenden.this, zuenden.class));
});
ruecksetzen.setOnClickListener(view -> {
Toast.makeText(context, gruen_txt, duration).show();
kanal_1_1.setImageResource(R.drawable.kanal_gruen);
kanal_1_2.setImageResource(R.drawable.kanal_gruen);
kanal_1_3.setImageResource(R.drawable.kanal_gruen);
kanal_1_4.setImageResource(R.drawable.kanal_gruen);
kanal_1_5.setImageResource(R.drawable.kanal_gruen);
b.set(a + 1);
c.set(a + 1);
d.set(a + 1);
e.set(a + 1);
f.set(a + 1);
});
zuenden1_1.setOnClickListener(view -> {
if (b.get() == 1) {
Toast.makeText(context, rot_txt, duration).show();
kanal_1_1.setImageResource(R.drawable.kanal_rot);
b.set(0);
if(mConnectedThread != null) //First check to make sure thread created
mConnectedThread.write("Kanal_1_1_Z");
}
});
zuenden1_2.setOnClickListener(view -> {
if (c.get() == 1) {
Toast.makeText(context, rot_txt, duration).show();
kanal_1_2.setImageResource(R.drawable.kanal_rot);
c.set(0);
if(mConnectedThread != null) //First check to make sure thread created
mConnectedThread.write("Kanal_1_2_Z");
}
});
zuenden1_3.setOnClickListener(view -> {
if (d.get() == 1) {
Toast.makeText(context, rot_txt, duration).show();
kanal_1_3.setImageResource(R.drawable.kanal_rot);
d.set(0);
if(mConnectedThread != null) //First check to make sure thread created
mConnectedThread.write("Kanal_1_3_Z");
}
});
zuenden1_4.setOnClickListener(view -> {
if (e.get() == 1) {
Toast.makeText(context, rot_txt, duration).show();
kanal_1_4.setImageResource(R.drawable.kanal_rot);
e.set(0);
if(mConnectedThread != null) //First check to make sure thread created
mConnectedThread.write("Kanal_1_4_Z");
}
});
zuenden1_5.setOnClickListener(view -> {
if (f.get() == 1) {
Toast.makeText(context, rot_txt, duration).show();
kanal_1_5.setImageResource(R.drawable.kanal_rot);
f.set(0);
if(mConnectedThread != null) //First check to make sure thread created
mConnectedThread.write("Kanal_1_5_Z");
}
});
}
}代码宣言
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.feuerwerkzndanlage">
<uses-feature android:name="android.hardware.bluetooth" />
<uses-feature android:name="android.hardware.bluetooth_le" android:required="true"/>
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
<uses-permission android:name="android.permission.BLUETOOTH_ADVERTISE" />
<permission android:name="android.permission.BLUETOOTH" android:label="BLUETOOTH" />
<permission android:name="android.permission.BLUETOOTH_ADMIN" />
<permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<permission android:name="android.permission.BLUETOOTH_CONNECT" />
<permission android:name="android.permission.BLUETOOTH_SCAN" />
<uses-permission android:name="android.permission.USE_BIOMETRIC" />
<application
android:allowBackup="true"
android:icon="@drawable/logo"
android:label="@string/app_name"
android:roundIcon="@drawable/logo"
android:supportsRtl="true"
android:theme="@style/Theme.Feuerwerkzündanlage">
<activity
android:name=".Musik_Auswahl"
android:exported="false" />
<activity
android:name=".Main_Bluetooth"
android:exported="false" />
<activity
android:name=".inArbeit"
android:exported="false" />
<activity
android:name=".zeit_laden_1"
android:exported="false" />
<activity
android:name=".zeit_speichern_auswahl"
android:exported="false" />
<activity
android:name=".zeit_ruecksetzen"
android:exported="false" />
<activity
android:name=".zeit_speichern_1"
android:exported="false" />
<activity
android:name=".empfaenger_1"
android:exported="false" />
<activity
android:name=".empfaenger_2"
android:exported="false" />
<activity
android:name=".empfaenger_3"
android:exported="false" />
<activity
android:name=".empfaenger_4"
android:exported="false" />
<activity
android:name=".empfaenger_5"
android:exported="false" />
<activity
android:name=".empfaenger_6"
android:exported="false" />
<activity
android:name=".empfaenger_7"
android:exported="false" />
<activity
android:name=".empfaenger_8"
android:exported="false" />
<activity
android:name=".empfaenger_9"
android:exported="false" />
<activity
android:name=".empfaenger_10"
android:exported="false" />
<activity
android:name=".empfaenger_1_zuenden"
android:exported="false" />
<activity
android:name=".empfaenger_2_zuenden"
android:exported="false" />
<activity
android:name=".empfaenger_3_zuenden"
android:exported="false" />
<activity
android:name=".empfaenger_4_zuenden"
android:exported="false" />
<activity
android:name=".empfaenger_5_zuenden"
android:exported="false" />
<activity
android:name=".empfaenger_6_zuenden"
android:exported="false" />
<activity
android:name=".empfaenger_7_zuenden"
android:exported="false" />
<activity
android:name=".empfaenger_8_zuenden"
android:exported="false" />
<activity
android:name=".empfaenger_9_zuenden"
android:exported="false" />
<activity
android:name=".empfaenger_10_zuenden"
android:exported="false" />
<activity
android:name=".Achtung_Scharf"
android:exported="false" />
<activity
android:name=".Test"
android:exported="false" />
<activity
android:name=".Biometric_Authentication"
android:exported="false" />
<activity
android:name=".test_arm"
android:exported="false" />
<activity
android:name=".vorschlaege"
android:exported="false" />
<activity
android:name=".gesp_feuerwerke"
android:exported="false" />
<activity
android:name=".Auswahl_Planer"
android:exported="false" />
<activity
android:name=".Planer_1"
android:exported="false" />
<activity
android:name=".Planer_2"
android:exported="false" />
<activity
android:name=".Planer_3"
android:exported="false" />
<activity
android:name=".Planer_4"
android:exported="false" />
<activity
android:name=".Planer_5"
android:exported="false" />
<activity
android:name=".Planer_6"
android:exported="false" />
<activity
android:name=".Planer_7"
android:exported="false" />
<activity
android:name=".Planer_8"
android:exported="false" />
<activity
android:name=".Planer_9"
android:exported="false" />
<activity
android:name=".Planer_10"
android:exported="false" />
<activity
android:name=".zuenden"
android:exported="false" />
<activity
android:name=".Sidebar"
android:exported="false" />
<activity
android:name=".MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>发布于 2022-09-29 13:50:26
因为您使用关键字final,所以
中的私有ConnectedThread mConnectedThread;// final关键字是一个常量。
startActivityForResult().或startActivity()
意图it =新意图(FirstActivity.this,SecondActivity.class);it.putExtra(" data ","Hi is FirstAcitvity");//如果需要将一些数据传递给SecondAcrivity startActivity(it);
BluetoothManager.java的东西,并从IntentService (线程安全)扩展。公共类BluetoothMnager扩展了IntentService {公共静态最终字符串RESULT_RECEIVER = "RESULT_RECEIVER";公共静态最终字符串RESPONSE_CODE = 200;//做任何您需要的事情:覆盖受保护的无效onHandleIntent(@Nullable意图){ //声明结果接收方ResultReceiver receiver = intent.getParcelableExtra(RESULT_RECEIVER);String action = intent.getAction();Bundle b=新绑定();b.putString(“响应”,"data");receiver.send(RESPONSE_CODE,b);}
//活动方面
公共MainActivity扩展.{@覆盖受保护的无效onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState);Button bt =新按钮(此);bt.setText(“发送服务”);bt.setOnClickListener(新View.OnClickListener() {@覆盖公共void (视图)){IN意图it =新意图(MainActivity.this,BluetoothMnager.class);it.putExtra(BluetoothMnager.RESULT_RECEIVER,mReceiver);startService(it););
@重载受保护的onResume(){ //声明a ResultReceiver mReceiver =新的ResultReceiver(新的Handler()){ @Override void onReceiveResult(int resultCode,Bundle resultData) { super.onReceiveResult (resultCode,resultData);if (resultCode == 200){ String response = resultData.getString("response");Log.d(标记,“响应:+响应”);Toast.makeText(MainActivity.this,response,Toast.LENGTH_SHORT).show();}
https://stackoverflow.com/questions/73891534
复制相似问题