- Forum-Beiträge: 3
29.10.2019, 16:30:05 via Website
29.10.2019 16:30:05 via Website
Moin Leute, bin ganz neu hier und komme nach langer recherche einfach nicht weiter:
Ich habe einfe funktionierende App um mich an ein BLE Gerät zu connecten, zu schreiben oder Daten zu erhalten. Nun möchte ich gerne während der Zeit die man auf den connect warten muss eine Ladesequenz zeigen die kurz vor dem connect befehl in einer neuen Activity ausgeführt wird -> funktioniert. Aus der Ladeanimation möchte ich nun mittels dem BroadcastReceiver hinausführen wenn "ACTION_CONNECTION_STATE_CHANGED" als folge des connect-befehls aufgerufen wird. Doch genau das passiert eben nie.
Ich habe meinen Receiver sowohl in der Klasse als auch im Manifest schon registriert gehabt aber ohne Erfolg.
Hoffe ihr könnt mir weiter helfen
public class LoadingAnimation extends AppCompatActivity {
TextView load;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.load_activity);
load = findViewById(R.id.loading_circle);
registerReceiver(connectionStateReceiver, new IntentFilter(BluetoothAdapter.ACTION_CONNECTION_STATE_CHANGED));
}
@Override
protected void onStart() {
super.onStart();
Animation animation = AnimationUtils.loadAnimation(this, R.anim.rotate);
load.startAnimation(animation);
}
@Override
protected void onDestroy() {
super.onDestroy();
unregisterReceiver(connectionStateReceiver);
}
private final BroadcastReceiver connectionStateReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
final String action = intent.getAction();
if(action.equals(BluetoothAdapter.ACTION_CONNECTION_STATE_CHANGED)) {
final int state = intent.getIntExtra(BluetoothAdapter.EXTRA_CONNECTION_STATE, BluetoothAdapter.STATE_DISCONNECTED);
switch (state) {
case BluetoothAdapter.STATE_CONNECTED:
Intent deviceInteractionWindow = new Intent (context, DeviceInteractionActivity.class);
context.startActivity(deviceInteractionWindow);
break;
case BluetoothAdapter.STATE_DISCONNECTED:
Intent backToScanning = new Intent(context, BluetoothLEScanner.class);
context.startActivity(backToScanning);
break;
}
}
}
};
}
Zuvor mache ich noch
Intent test = new Intent(context, LoadingAnimation.class);
context.startActivity(test);
gatt = device.connectGatt(context, true, gattCallback);
P.S. die onConnectionStateChanged Callback methode wird aufgerufen
— geändert am 29.10.2019, 16:32:23
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.