summaryrefslogtreecommitdiffstats
path: root/src/bluetooth/android
diff options
context:
space:
mode:
authorAlex Blasche <alexander.blasche@theqtcompany.com>2016-08-03 10:25:41 +0200
committerAlex Blasche <alexander.blasche@qt.io>2016-08-03 11:38:09 +0000
commitaf14b0d0e3b374f130e580c03dee6af1250cd6e1 (patch)
treed29585916011d31c8b645f79ba2bfa4d1f3894e9 /src/bluetooth/android
parent60d1ebac9e81619a24e66fc6defc3e0299491a9d (diff)
Make Classic QtBluetooth work as an Android service
Change-Id: Ibde0242b058f728fd7e060b37f427c208325db13 Reviewed-by: BogDan Vatra <bogdan@kdab.com>
Diffstat (limited to 'src/bluetooth/android')
-rw-r--r--src/bluetooth/android/androidbroadcastreceiver.cpp8
-rw-r--r--src/bluetooth/android/androidbroadcastreceiver_p.h2
2 files changed, 6 insertions, 4 deletions
diff --git a/src/bluetooth/android/androidbroadcastreceiver.cpp b/src/bluetooth/android/androidbroadcastreceiver.cpp
index d2a088c4..50465017 100644
--- a/src/bluetooth/android/androidbroadcastreceiver.cpp
+++ b/src/bluetooth/android/androidbroadcastreceiver.cpp
@@ -53,8 +53,10 @@ Q_DECLARE_LOGGING_CATEGORY(QT_BT_ANDROID)
AndroidBroadcastReceiver::AndroidBroadcastReceiver(QObject* parent)
: QObject(parent), valid(false)
{
- //get QtActivity
- activityObject = QAndroidJniObject(QtAndroidPrivate::activity());
+ // get Qt Context
+ // TODO: replace with QtAndroidPrivate::context() introduced by Qt 5.8
+ contextObject = QAndroidJniObject(QtAndroidPrivate::activity()
+ ? QtAndroidPrivate::activity() : QtAndroidPrivate::service());
broadcastReceiverObject = QAndroidJniObject("org/qtproject/qt5/android/bluetooth/QtBluetoothBroadcastReceiver");
if (!broadcastReceiverObject.isValid())
@@ -92,7 +94,7 @@ void AndroidBroadcastReceiver::addAction(const QAndroidJniObject &action)
intentFilterObject.callMethod<void>("addAction", "(Ljava/lang/String;)V", action.object<jstring>());
- activityObject.callObjectMethod(
+ contextObject.callObjectMethod(
"registerReceiver",
"(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;",
broadcastReceiverObject.object<jobject>(),
diff --git a/src/bluetooth/android/androidbroadcastreceiver_p.h b/src/bluetooth/android/androidbroadcastreceiver_p.h
index 1aa3049d..01d57992 100644
--- a/src/bluetooth/android/androidbroadcastreceiver_p.h
+++ b/src/bluetooth/android/androidbroadcastreceiver_p.h
@@ -79,7 +79,7 @@ protected:
virtual void onReceiveLeScan(JNIEnv *env, jobject jBluetoothDevice, jint rssi) = 0;
- QAndroidJniObject activityObject;
+ QAndroidJniObject contextObject;
QAndroidJniObject intentFilterObject;
QAndroidJniObject broadcastReceiverObject;
bool valid;