A
A
Anton Misyagin2020-04-19 17:10:38
Android
Anton Misyagin, 2020-04-19 17:10:38

How can I get my QT application to run after android starts?

Good afternoon, I can not get the application written in QT to start after the launch of android.
Read this and similar articles. But I don’t understand how to embed java code, where to put the .java file, how to call my activity written in cpp from it, where to look at the error log. Please help, here are the pieces of code:
/android/AndroidManifest.xml

<?xml version="1.0"?>
<manifest package="inc.garage.ncf05m" xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="0.1" android:versionCode="1" android:installLocation="auto">
    <application android:hardwareAccelerated="true" android:name="org.qtproject.qt5.android.bindings.QtApplication" android:label="-- %%INSERT_APP_NAME%% --" android:icon="@drawable/icon">
        <uses-permission android:name="android.permission.BOOT_COMPLETED" />

        <receiver android:enabled="true" android:name=".BootUpReceiver"
        android:permission="android.permission.BOOT_COMPLETED">

            <intent-filter>
                    <action android:name="android.intent.action.BOOT_COMPLETED" />
                    <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </receiver>
        <activity android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|layoutDirection|locale|fontScale|keyboard|keyboardHidden|navigation" android:name="org.qtproject.qt5.android.bindings.QtActivity" android:label="-- %%INSERT_APP_NAME%% --" android:screenOrientation="portrait" android:launchMode="singleTask">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
....


/android/BootUpReceiver.java
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;

public class BootUpReceiver extends BroadcastReceiver{

        @Override
        public void onReceive(Context context, Intent intent) {
                Intent i = new Intent(context, MAIN.class);
                i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                context.startActivity(i);  
        }

}

Answer the question

In order to leave comments, you need to log in

1 answer(s)
A
Alexander, 2020-04-19
@sunnmas

After launching the android, the Launcher is launched. Your application should report that it is the Launcher, then when you press the home button, you can select it as the default launcher and it will always start immediately after loading.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question