diff options
Diffstat (limited to 'src/android/bluetooth/src/org/qtproject/qt5/android/bluetooth/QtBluetoothBroadcastReceiver.java')
-rw-r--r-- | src/android/bluetooth/src/org/qtproject/qt5/android/bluetooth/QtBluetoothBroadcastReceiver.java | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/android/bluetooth/src/org/qtproject/qt5/android/bluetooth/QtBluetoothBroadcastReceiver.java b/src/android/bluetooth/src/org/qtproject/qt5/android/bluetooth/QtBluetoothBroadcastReceiver.java index 1f0049ef..ba96c0cf 100644 --- a/src/android/bluetooth/src/org/qtproject/qt5/android/bluetooth/QtBluetoothBroadcastReceiver.java +++ b/src/android/bluetooth/src/org/qtproject/qt5/android/bluetooth/QtBluetoothBroadcastReceiver.java @@ -62,7 +62,20 @@ public class QtBluetoothBroadcastReceiver extends BroadcastReceiver public void onReceive(Context context, Intent intent) { - jniOnReceive(qtObject, context, intent); + synchronized (qtactivity) { + if (qtObject == 0) + return; + + jniOnReceive(qtObject, context, intent); + } + } + + public void unregisterReceiver() + { + synchronized (qtactivity) { + qtObject = 0; + qtactivity.unregisterReceiver(this); + } } public native void jniOnReceive(long qtObject, Context context, Intent intent); |