Danke für die Info.
Ja das mit dem 2 mal zuweisen war ein Fehler. Das wollte ich so eigentlich gar nicht.
Ich hab nun aber auch so wie es aussieht mein Problem gelöst.
Ich musste den "tetheringState" noch zusätzlich in Zeile 22 und 28 abfragen. Das hatte ich total vergessen bzw. es war mir erst gar nicht bewusst.
Hoffe mal das beim testen nicht noch was auffällt.
Danke und Gruß
Code
@Override
public void onServiceConnected(final int profile,
final BluetoothProfile proxy) {
Log.i(TAG, "Class Tethering > onServiceConnected " );
try {
tetheringState = (Boolean) proxy.getClass().getMethod("isTetheringOn").invoke(proxy, new Object[0]); // globale Variable siehe ONServiceConnected
// tetheringState = (Boolean) proxy.getClass().getMethod("isTetheringOn", new Class[0]).invoke(proxy, new Object[0]);
Log.i(TAG, "Class Tethering > onServiceConnected - tetheringState = " + tetheringState );
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
}
synchronized (mutex) {
try {
if (buttonPush && !tetheringState){ // buttonPush wird übergeben um abzufragen ob wirklich ein button gedrückt wurde
mSetBTTetheringOn.invoke(mBTSrvInstance, true);
tetheringState = (Boolean) proxy.getClass().getMethod("isTetheringOn").invoke(proxy, new Object[0]); // globale Variable siehe ONServiceConnected
// tetheringState = (Boolean) proxy.getClass().getMethod("isTetheringOn", new Class[0]).invoke(proxy, new Object[0]);
Log.i(TAG, "Class Tethering > onServiceConnected - tetheringState = " + tetheringState );
Log.i(TAG, "Class Tethering > Tethering ON");}
else if (buttonPush && tetheringState){
mSetBTTetheringOn.invoke(mBTSrvInstance, false);
tetheringState = (Boolean) proxy.getClass().getMethod("isTetheringOn").invoke(proxy, new Object[0]); // globale Variable siehe ONServiceConnected
// tetheringState = (Boolean) proxy.getClass().getMethod("isTetheringOn", new Class[0]).invoke(proxy, new Object[0]);
Log.i(TAG, "Class Tethering > onServiceConnected - tetheringState = " + tetheringState );
Log.i(TAG, "Class Tethering > Tethering OFF");
}
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
}
buttonPush = false;
}
Alles anzeigen