aboutsummaryrefslogtreecommitdiffstats
path: root/examples/androidextras/services/servicesameprocess
diff options
context:
space:
mode:
authorAssam Boudjelthia <[email protected]>2021-05-11 12:49:40 +0300
committerAssam Boudjelthia <[email protected]>2021-06-29 14:08:24 +0300
commitae24e41ad4da78b029fd42ea317e4d2be73b015e (patch)
tree3f2d8c44dbf5a3eb666a7782bb5c1dfd62481c8e /examples/androidextras/services/servicesameprocess
parentede82024b08842e9599b9bdbd00b7498601a921f (diff)
Remove QtAndroidExtras module and add note about its state in Qt 6HEADdev
The JNI utilities (i.e. QJniObject, QJniEnvironment) are already under qtbase as public APIs. Permission handling is now under QCoreApplication::{check,request}Permission and QPermission namespace. Some of the QtAndroid namespace functions are now under QNativeInterface's QAndroidApplication, this includes: * sdkVersion() * hideSplashScreen() * context() and isActivityContext() * runOnAndroidMainThread() The remaining APIs are now moved as private APIs under qtbase ee05af296f65e240f64db6470cdddafbddbf2fa3. That is until we add new cross-platform APIs to replace their functionalities like Intents handling, starting activites and working with Services. Task-number: QTBUG-83251 Task-number: QTBUG-84382 Pick-to: 6.2 Change-Id: Id077f8cbbe223a987916f737fad6088fb58e470d Reviewed-by: Ville Voutilainen <[email protected]>
Diffstat (limited to 'examples/androidextras/services/servicesameprocess')
-rw-r--r--examples/androidextras/services/servicesameprocess/android/AndroidManifest.xml89
-rw-r--r--examples/androidextras/services/servicesameprocess/android/src/org/qtproject/example/qtandroidservice/QtAndroidService.java92
-rw-r--r--examples/androidextras/services/servicesameprocess/doc/src/qtandroidextras-example-service-same-process.qdoc116
-rw-r--r--examples/androidextras/services/servicesameprocess/main.cpp77
-rw-r--r--examples/androidextras/services/servicesameprocess/qtandroidservice.cpp88
-rw-r--r--examples/androidextras/services/servicesameprocess/qtandroidservice.h75
-rw-r--r--examples/androidextras/services/servicesameprocess/servicesameprocess.pro24
7 files changed, 0 insertions, 561 deletions
diff --git a/examples/androidextras/services/servicesameprocess/android/AndroidManifest.xml b/examples/androidextras/services/servicesameprocess/android/AndroidManifest.xml
deleted file mode 100644
index ed72c2d..0000000
--- a/examples/androidextras/services/servicesameprocess/android/AndroidManifest.xml
+++ /dev/null
@@ -1,89 +0,0 @@
-<?xml version="1.0"?>
-<manifest package="org.qtproject.example.qtandroidservice" xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="-- %%INSERT_VERSION_NAME%% --" android:versionCode="-- %%INSERT_VERSION_CODE%% --" android:installLocation="auto">
- <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="28"/>
-
- <!-- The following comment will be replaced upon deployment with default permissions based on the dependencies of the application.
- Remove the comment if you do not require these default permissions. -->
- <!-- %%INSERT_PERMISSIONS -->
-
- <!-- The following comment will be replaced upon deployment with default features based on the dependencies of the application.
- Remove the comment if you do not require these default features. -->
- <!-- %%INSERT_FEATURES -->
-
- <supports-screens android:largeScreens="true" android:normalScreens="true" android:anyDensity="true" android:smallScreens="true"/>
-
- <application android:hardwareAccelerated="true" android:name="org.qtproject.qt.android.bindings.QtApplication" android:label="-- %%INSERT_APP_NAME%% --" android:extractNativeLibs="true">
- <activity android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|layoutDirection|locale|fontScale|keyboard|keyboardHidden|navigation|mcc|mnc|density" android:name="org.qtproject.qt.android.bindings.QtActivity" android:label="-- %%INSERT_APP_NAME%% --" android:screenOrientation="unspecified" android:launchMode="singleTop">
- <intent-filter>
- <action android:name="android.intent.action.MAIN"/>
- <category android:name="android.intent.category.LAUNCHER"/>
- </intent-filter>
-
- <!-- Application arguments -->
- <!-- meta-data android:name="android.app.arguments" android:value="arg1 arg2 arg3"/ -->
- <!-- Application arguments -->
-
- <meta-data android:name="android.app.lib_name" android:value="-- %%INSERT_APP_LIB_NAME%% --"/>
- <meta-data android:name="android.app.qt_sources_resource_id" android:resource="@array/qt_sources"/>
- <meta-data android:name="android.app.repository" android:value="default"/>
- <meta-data android:name="android.app.qt_libs_resource_id" android:resource="@array/qt_libs"/>
- <meta-data android:name="android.app.bundled_libs_resource_id" android:resource="@array/bundled_libs"/>
- <!-- Deploy Qt libs as part of package -->
- <meta-data android:name="android.app.bundle_local_qt_libs" android:value="-- %%BUNDLE_LOCAL_QT_LIBS%% --"/>
-
- <!-- Run with local libs -->
- <meta-data android:name="android.app.use_local_qt_libs" android:value="-- %%USE_LOCAL_QT_LIBS%% --"/>
- <meta-data android:name="android.app.libs_prefix" android:value="/data/local/tmp/qt/"/>
- <meta-data android:name="android.app.load_local_libs_resource_id" android:resource="@array/load_local_libs"/>
- <meta-data android:name="android.app.load_local_jars" android:value="-- %%INSERT_LOCAL_JARS%% --"/>
- <meta-data android:name="android.app.static_init_classes" android:value="-- %%INSERT_INIT_CLASSES%% --"/>
- <!-- Used to specify custom system library path to run with local system libs -->
- <!-- <meta-data android:name="android.app.system_libs_prefix" android:value="/system/lib/"/> -->
- <!-- Messages maps -->
- <meta-data android:value="@string/ministro_not_found_msg" android:name="android.app.ministro_not_found_msg"/>
- <meta-data android:value="@string/ministro_needed_msg" android:name="android.app.ministro_needed_msg"/>
- <meta-data android:value="@string/fatal_error_msg" android:name="android.app.fatal_error_msg"/>
- <meta-data android:value="@string/unsupported_android_version" android:name="android.app.unsupported_android_version"/>
- <!-- Messages maps -->
-
- <!-- Splash screen -->
- <!-- Orientation-specific (portrait/landscape) data is checked first. If not available for current orientation,
- then android.app.splash_screen_drawable. For best results, use together with splash_screen_sticky and
- use hideSplashScreen() with a fade-out animation from Qt Android Extras to hide the splash screen when you
- are done populating your window with content. -->
- <!-- meta-data android:name="android.app.splash_screen_drawable_portrait" android:resource="@drawable/logo_portrait" / -->
- <!-- meta-data android:name="android.app.splash_screen_drawable_landscape" android:resource="@drawable/logo_landscape" / -->
- <!-- meta-data android:name="android.app.splash_screen_drawable" android:resource="@drawable/logo"/ -->
- <!-- meta-data android:name="android.app.splash_screen_sticky" android:value="true"/ -->
- <!-- Splash screen -->
-
- <!-- Background running -->
- <!-- Warning: changing this value to true may cause unexpected crashes if the
- application still try to draw after
- "applicationStateChanged(Qt::ApplicationSuspended)"
- signal is sent! -->
- <meta-data android:name="android.app.background_running" android:value="false"/>
- <!-- Background running -->
-
- <!-- auto screen scale factor -->
- <meta-data android:name="android.app.auto_screen_scale_factor" android:value="false"/>
- <!-- auto screen scale factor -->
-
- <!-- extract android style -->
- <!-- available android:values :
- * default - In most cases this will be the same as "full", but it can also be something else if needed, e.g., for compatibility reasons
- * full - useful QWidget & Quick Controls 1 apps
- * minimal - useful for Quick Controls 2 apps, it is much faster than "full"
- * none - useful for apps that don't use any of the above Qt modules
- -->
- <meta-data android:name="android.app.extract_android_style" android:value="default"/>
- <!-- extract android style -->
- </activity>
-
- <service android:name=".QtAndroidService">
- <!-- Background running -->
- <meta-data android:name="android.app.background_running" android:value="true"/>
- <!-- Background running -->
- </service>
- </application>
-</manifest>
diff --git a/examples/androidextras/services/servicesameprocess/android/src/org/qtproject/example/qtandroidservice/QtAndroidService.java b/examples/androidextras/services/servicesameprocess/android/src/org/qtproject/example/qtandroidservice/QtAndroidService.java
deleted file mode 100644
index 1a5f5e5..0000000
--- a/examples/androidextras/services/servicesameprocess/android/src/org/qtproject/example/qtandroidservice/QtAndroidService.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2020 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtAndroidExtras module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-package org.qtproject.example.qtandroidservice;
-
-import android.content.Context;
-import android.content.Intent;
-import android.util.Log;
-import android.app.Service;
-import android.os.IBinder;
-
-public class QtAndroidService extends Service
-{
- private static native void sendToQt(String message);
- private static final String TAG = "QtAndroidService";
-
- @Override
- public void onCreate() {
- super.onCreate();
- Log.i(TAG, "Creating Service");
- }
-
- @Override
- public void onDestroy() {
- super.onDestroy();
- Log.i(TAG, "Destroying Service");
- }
-
- @Override
- public int onStartCommand(Intent intent, int flags, int startId) {
- int ret = super.onStartCommand(intent, flags, startId);
- String name = new String(intent.getByteArrayExtra("name"));
- Log.i(TAG, "Service received name: " + name);
- String message = "Hello " + name;
- sendToQt(message);
- Log.i(TAG, "Service sent back message: " + message);
-
- return ret;
- }
-
- @Override
- public IBinder onBind(Intent intent) {
- return null;
- }
-}
diff --git a/examples/androidextras/services/servicesameprocess/doc/src/qtandroidextras-example-service-same-process.qdoc b/examples/androidextras/services/servicesameprocess/doc/src/qtandroidextras-example-service-same-process.qdoc
deleted file mode 100644
index 7aeef0a..0000000
--- a/examples/androidextras/services/servicesameprocess/doc/src/qtandroidextras-example-service-same-process.qdoc
+++ /dev/null
@@ -1,116 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2020 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtAndroidExtras module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \title Native Android Service in Same Process
- \ingroup examples-qtandroidextras
- \example services/servicesameprocess
- \brief Demonstrates how to run an Android service in the main process,
- and how to communicate between QML/C++ and a Java service.
-
- \image androidservices.png
-
- This example demonstrates how to create and run a simple Android service in
- the same process as the main activity \c QtActivity, and then exchange data
- between QML/C++ and the Java service. This service is a pure Java
- implementation.
-
- When clicking the \uicontrol {Send to Service} button, the name entered in
- the QML view, Qt, in this case, is sent to the Android service. Then, the service
- replies back with a message \c {Hello Qt} which is printed in the QML view.
-
- \include examples-run.qdocinc
-
- \section1 Create the Service
-
- When running the app's process, you can extend either \c QtService or \c Service.
- Extending \c QtService allows Qt to load all the necessary libraries to load
- Qt components correctly and call native methods on Android. However, here
- the service is running in the same process, so extending either class works.
-
- Start by creating the Java service class. This is a normal Android \c Service
- that receives a name from QML and replies back with \c {Hello <name>}:
-
- \quotefromfile services/servicesameprocess/android/src/org/qtproject/example/qtandroidservice/QtAndroidService.java
- \skipto package
- \printuntil /^\}/
-
- In the overwritten method
- \l{Android: Service onStartCommand}{onStartCommand()}, the service receives a
- name from the calling intent, then calls the native method
- \c {sendToQt(String message)}. For more information on managing native
- calls in Qt, see \l{Calling QML/C++ Functions from Java Code}.
-
- \section1 Manage the AndroidManifest.xml File
-
- To use the service, it must be declared in the \c AndroidManifest.xml
- file. When using pure Android Service in the main app process, use the following:
-
- \quotefromfile services/servicesameprocess/android/AndroidManifest.xml
- \skipto <service
- \printuntil </service>
-
- \section1 Start the Service
-
- Before starting the service, register the native methods, then call the
- \l{Android: Service startService}{startService()} method, as follows:
-
- \quotefromfile services/servicesameprocess/qtandroidservice.cpp
- \skipto sendToService
- \printuntil /^\}/
-
- This function is used to start the Service. If the service is already running,
- it will only send the names without starting a new service instance.
-
- Then, you have to add the necessary \l Connections, as described in
- \l{Qt JNI Messenger}{Qt JNI Messenger Example}.
-
- \sa {Android Services}, {Qt for Android}, {Qt Android Extras}
-*/
diff --git a/examples/androidextras/services/servicesameprocess/main.cpp b/examples/androidextras/services/servicesameprocess/main.cpp
deleted file mode 100644
index 1d06566..0000000
--- a/examples/androidextras/services/servicesameprocess/main.cpp
+++ /dev/null
@@ -1,77 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2020 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtAndroidExtras module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qtandroidservice.h"
-
-#include <QGuiApplication>
-#include <QQmlApplicationEngine>
-#include <QQmlContext>
-
-int main(int argc, char *argv[])
-{
- QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
- QGuiApplication app(argc, argv);
- QQmlApplicationEngine engine;
-
- QtAndroidService *qtAndroidService = new QtAndroidService(&app);
- engine.rootContext()->setContextProperty(QLatin1String("qtAndroidService"), qtAndroidService);
-
- const QUrl url(http://code.qt.io/QStringLiteral(%22qrc:/main.qml"));
- QObject::connect(&engine, &QQmlApplicationEngine::objectCreated,
- &app, [url](QObject *obj, const QUrl &objUrl) {
- if (!obj && url == objUrl)
- QCoreApplication::exit(-1);
- }, Qt::QueuedConnection);
- engine.load(url);
-
- qtAndroidService->sendToService("Qt");
-
- return app.exec();
-}
diff --git a/examples/androidextras/services/servicesameprocess/qtandroidservice.cpp b/examples/androidextras/services/servicesameprocess/qtandroidservice.cpp
deleted file mode 100644
index 70db380..0000000
--- a/examples/androidextras/services/servicesameprocess/qtandroidservice.cpp
+++ /dev/null
@@ -1,88 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2020 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtAndroidExtras module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qtandroidservice.h"
-
-#include <QAndroidJniEnvironment>
-#include <QAndroidIntent>
-#include <QtDebug>
-
-QtAndroidService *QtAndroidService::m_instance = nullptr;
-
-static void receivedFromAndroidService(JNIEnv *env, jobject /*thiz*/, jstring value)
-{
- emit QtAndroidService::instance()->messageFromService(env->GetStringUTFChars(value, nullptr));
-}
-
-QtAndroidService::QtAndroidService(QObject *parent) : QObject(parent)
-{
- m_instance = this;
-
- JNINativeMethod methods[] {{"sendToQt", "(Ljava/lang/String;)V", reinterpret_cast<void *>(receivedFromAndroidService)}};
- QAndroidJniObject javaClass("org/qtproject/example/qtandroidservice/QtAndroidService");
-
- QAndroidJniEnvironment env;
- jclass objectClass = env->GetObjectClass(javaClass.object<jobject>());
- env->RegisterNatives(objectClass,
- methods,
- sizeof(methods) / sizeof(methods[0]));
- env->DeleteLocalRef(objectClass);
-}
-
-void QtAndroidService::sendToService(const QString &name)
-{
- QAndroidIntent serviceIntent(QtAndroid::androidActivity().object(),
- "org/qtproject/example/qtandroidservice/QtAndroidService");
- serviceIntent.putExtra("name", name.toUtf8());
- QAndroidJniObject result = QtAndroid::androidActivity().callObjectMethod(
- "startService",
- "(Landroid/content/Intent;)Landroid/content/ComponentName;",
- serviceIntent.handle().object());
-}
diff --git a/examples/androidextras/services/servicesameprocess/qtandroidservice.h b/examples/androidextras/services/servicesameprocess/qtandroidservice.h
deleted file mode 100644
index 2bed43c..0000000
--- a/examples/androidextras/services/servicesameprocess/qtandroidservice.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2020 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtAndroidExtras module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QTANDROIDSERVICE_H
-#define QTANDROIDSERVICE_H
-
-#include <QObject>
-#include <QtAndroid>
-#include <QAndroidIntent>
-
-class QtAndroidService : public QObject
-{
- Q_OBJECT
-
-public:
- QtAndroidService(QObject *parent = nullptr);
-
- static QtAndroidService *instance() { return m_instance; }
- Q_INVOKABLE void sendToService(const QString &name);
-
-signals:
- void messageFromService(const QString &message);
-
-private:
- static QtAndroidService *m_instance;
-};
-
-#endif // QTANDROIDSERVICE_H
diff --git a/examples/androidextras/services/servicesameprocess/servicesameprocess.pro b/examples/androidextras/services/servicesameprocess/servicesameprocess.pro
deleted file mode 100644
index 643094f..0000000
--- a/examples/androidextras/services/servicesameprocess/servicesameprocess.pro
+++ /dev/null
@@ -1,24 +0,0 @@
-QT += qml quick androidextras
-
-CONFIG += c++11
-
-HEADERS += \
- qtandroidservice.h
-
-SOURCES += \
- main.cpp \
- qtandroidservice.cpp
-
-include(../common/common.pri)
-
-# Additional import path used to resolve QML modules in Qt Creator's code model
-QML_IMPORT_PATH =
-
-target.path = $$[QT_INSTALL_EXAMPLES]/androidextras/services/servicesameprocess
-INSTALLS += target
-
-ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android
-
-DISTFILES += \
- android/src/org/qtproject/example/qtandroidservice/QtAndroidService.java \
- android/AndroidManifest.xml