Jump to content

AndroidServices

From Qt Wiki
Revision as of 15:27, 18 May 2016 by Bog dan ro (talk | contribs) (Add Android Services Page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

This page contains informations about Android Services using Qt.

Add the service to your manifest

Every service must be explicitly added to your manifest file, next you have an example:

<manifest package="
    <application android:....>
        <activity android:....>
         .....
        </activity>

        <service android:process=":qt" android:name="org.qtproject.qt5.android.bindings.QtService">
        <!-- android:process=":qt" is needed to force the service to run on a separate process than the Activity -->

            <!-- Application arguments -->
            <!-- meta-data android:name="android.app.arguments" android:value="-service"/ -->
            <!-- Application arguments -->

            <!-- If you're using the same application (.so file) for activity and also for service, then you
                 need to use *android.app.arguments* to pass some arguments to your service in order to know which
                 one is which
            -->

            <!-- Ministro -->
            <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"/>
            <!-- Ministro -->

            <!-- Deploy Qt libs as part of package -->
            <meta-data android:name="android.app.bundle_local_qt_libs" android:value="-- %%BUNDLE_LOCAL_QT_LIBS%% --"/>
            <meta-data android:name="android.app.bundled_in_lib_resource_id" android:resource="@array/bundled_in_lib"/>
            <meta-data android:name="android.app.bundled_in_assets_resource_id" android:resource="@array/bundled_in_assets"/>
            <!-- Deploy Qt libs as part of package -->

            <!-- 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" android:value="-- %%INSERT_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%% --"/>
            <!-- Run with local libs -->

            <!--  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"/>
            <!--  Messages maps -->


            <!-- Background running -->
            <meta-data android:name="android.app.background_running" android:value="true"/>
            <!-- Background running -->
        </service>
    </application>
    ....
</manifest>