Skip to content

Mobile and Embedded

The forum for developing everything embedded: Linux, WinCE, Symbian, MeeGo... you name it.
14.1k Topics 62.2k Posts
  • QScrollArea issue on Android

    Unsolved
    8
    0 Votes
    8 Posts
    562 Views
    JoeCFDJ
    @jporcher Can you try to change the scrolling speed? For example: tableWidget->setVerticalScrollMode( QAbstractItemView::ScrollPerPixel ); The default one could be too fast. Qt Widgets do have issues on touch screen(not only on phone screens). It may be hardware or drivers problem as well. Try another brand of phone to see if your app has the same problem.
  • Android on Qt not Working

    Unsolved
    3
    0 Votes
    3 Posts
    107 Views
    JoeCFDJ
    @OldRoly your selection is not arm64_v8a in the second picture. And what is the Android version in your phone? Find out the compatibility of android version and jdk version.
  • 0 Votes
    6 Posts
    171 Views
    JoeCFDJ
    @ljxiango maybe use qt code to check permissions. https://doc.qt.io/qt-6/qtandroidprivate.html Qt6 has a lot of changes. Do not expect everything is the same.
  • Issue with the Android Kit when installing Qt6.9.0 on Windows 11 Home

    Solved
    6
    0 Votes
    6 Posts
    144 Views
    Z
    I solved this deployment issue after following solution from this post: https://forum.qt.io/topic/140996/qt-6-4-1-android-installing-the-app-failed-with-an-unknown-error
  • Boot2qt auto launch of application issue

    Unsolved
    2
    0 Votes
    2 Posts
    68 Views
    SGaistS
    Hi and welcome to devnet, Boot2Qt being a commercial product, you should contact the Qt Company. That said, I would check that you have all the required libraries and plugins installed on your device.
  • Deployment AVD cannot be started

    Unsolved
    1
    0 Votes
    1 Posts
    85 Views
    No one has replied
  • Mobile development

    Unsolved
    2
    0 Votes
    2 Posts
    79 Views
    SGaistS
    Hi and welcome to devnet, Did you already went through the Qt for Androïd Getting Started guide ?
  • Building for iOS: fatal error: 'fp.h' file not found

    Unsolved
    4
    0 Votes
    4 Posts
    819 Views
    L
    Ah that makes sense. Thanks @patrickkidd
  • 0 Votes
    3 Posts
    107 Views
    Z
    @jsulm Thanks for the feedback. I think that at least Qt5.15 is required to supports Android 13 (see https://medium.com/@shmilysyg/set-android-target-sdk-level-33-in-qt-38bb9049924c). I prefer using Qt5.15.2 since I am using .pro files. Also, I suppose that I need higher JDK and NDK versions. While I do not think that the issue is related to the code (I tested Qt example and did not work), here is my formatted code: void MainWindow::deviceDiscovered(const QBluetoothDeviceInfo &device) { qDebug() << "[BLE] Raw: " << device.name() << device.address().toString(); if(device.coreConfigurations()&QBluetoothDeviceInfo::LowEnergyCoreConfiguration) { qDebug() << "Discovered:" << device.name() << device.address().toString(); if(BLE_liste->findItems(device.name()+"\n"+device.address().toString(),Qt::MatchExactly).count()==0) { BLE_liste->addItem(device.name()+"\n"+device.address().toString()); *dev_info=device; QBluetoothDeviceInfo* temp_info=new QBluetoothDeviceInfo; *temp_info=device; dev_info_list.append(temp_info); } } } void MainWindow::searchCharacteristic() { if(BLE_service){ foreach (QLowEnergyCharacteristic c, BLE_service->characteristics()) { if(c.isValid()){ if (c.properties() & QLowEnergyCharacteristic::WriteNoResponse || c.properties() & QLowEnergyCharacteristic::Write) { m_writeCharacteristic = c; if(c.properties() & QLowEnergyCharacteristic::WriteNoResponse) m_writeMode = QLowEnergyService::WriteWithoutResponse; else m_writeMode = QLowEnergyService::WriteWithResponse; } if (c.properties() & QLowEnergyCharacteristic::Read) m_readCharacteristic = c; if(c.properties() & QLowEnergyCharacteristic::Notify) { m_notificationDesc = c.descriptor( QBluetoothUuid::ClientCharacteristicConfiguration); if (m_notificationDesc.isValid()) { BLE_service->writeDescriptor(m_notificationDesc, QByteArray::fromHex("0100")); } } } } } } void MainWindow::on_listWidget_itemClicked(QListWidgetItem *item) { string = item->text(); string = string.split("\n").at(0); //get the 1st word in string *dev_info=*(dev_info_list.at(BLE_liste->row(item))); BLE_controlleur=new QLowEnergyController(*dev_info,this); connect(BLE_controlleur, SIGNAL(connected()),this,SLOT(device_connected())); connect(BLE_controlleur, SIGNAL(discoveryFinished()),this,SLOT(service_discovered())); BLE_controlleur->connectToDevice(); } void MainWindow::device_connected() { BLE_controlleur->discoverServices(); } void MainWindow::service_discovered() { services_discovered=1; m_servicesUuid = BLE_controlleur->services(); int maxl=m_servicesUuid.length(); for(int i=0;i<maxl;i++) { if(m_servicesUuid.at(i).toString()=="{6e400001-b5a3-f393-e0a9-e50e24dcca9e}") { BLE_service= BLE_controlleur->createServiceObject(m_servicesUuid.at(i), this); connect(BLE_service, SIGNAL(stateChanged(QLowEnergyService::ServiceState)), this, SLOT(onServiceStateChanged(QLowEnergyService::ServiceState))); connect(BLE_service, SIGNAL(characteristicWritten(QLowEnergyCharacteristic,QByteArray)), this, SLOT(update_com_state_(QLowEnergyCharacteristic,QByteArray))); connect(BLE_service, SIGNAL(error(QLowEnergyService::ServiceError)), this, SLOT(error_slot(QLowEnergyService::ServiceError))); connect(Comm_timer, SIGNAL(timeout()),this, SLOT(update_com_state())); if(BLE_service->state() == QLowEnergyService::DiscoveryRequired) { BLE_service->discoverDetails(); } else searchCharacteristic(); BLE_liste->setStyleSheet("QListWidget{background-color: rgba(0,0,0,0);color:rgb(202,233,250);font-weight:bold;font-family:Myriad Pro Regular;font-size:64px;border:4px solid rgb(249,159,65);border-radius:12px;} QListWidget::item:selected{background:rgb(249,159,65);color:rgb(0,0,0);}"); } } } void MainWindow::onServiceStateChanged(QLowEnergyService::ServiceState s) { if (s == QLowEnergyService::ServiceDiscovered) { searchCharacteristic(); } } void MainWindow::BLE_search_slot() { if(agent!=nullptr) { delete agent; } if(ble_widget->isHidden()==false) { if(localDevice.hostMode()==QBluetoothLocalDevice::HostPoweredOff) {localDevice.powerOn(); QTimer::singleShot(2000, this, SLOT(BLE_search_slot())); } BLE_liste->clear(); dev_info_list.clear(); QtAndroid::requestPermissionsSync({ "android.permission.ACCESS_FINE_LOCATION", "android.permission.BLUETOOTH_SCAN", "android.permission.BLUETOOTH_CONNECT" }); agent = new QBluetoothDeviceDiscoveryAgent(); // create an object in ctors connect(agent, SIGNAL(deviceDiscovered(QBluetoothDeviceInfo)),this, SLOT(deviceDiscovered(QBluetoothDeviceInfo))); agent->start(QBluetoothDeviceDiscoveryAgent::LowEnergyMethod); } }
  • Camera on Android how to adjust the brightness ?

    Solved
    4
    0 Votes
    4 Posts
    107 Views
    jsulmJ
    @LZHD OK, if supportedFeatures says exposure compensation is not supported then it will not work with Qt. What Qt version do you use?
  • Keeping the UI alive

    Unsolved
    8
    0 Votes
    8 Posts
    412 Views
    D
    Thanks @jsulm I'll give it a go immediately!
  • how to open file ? qt for ios?

    Unsolved
    5
    0 Votes
    5 Posts
    131 Views
    jsulmJ
    @kkgg said in how to open file ? qt for ios?: I don't need to access the contents of the album You're trying to open a file and for this your app needs permissions. Also consider what @J-Hilk wrote.
  • 0 Votes
    1 Posts
    71 Views
    No one has replied
  • This topic is deleted!

    Unsolved
    0
    0 Votes
    0 Posts
    30 Views
    No one has replied
  • Boot2Qt Waveshare Display is not Working

    Unsolved
    3
    0 Votes
    3 Posts
    404 Views
    M
    hey @Jacob-Chafin ! Did you ever make it work ?
  • Need quick 4 testers for Android App help please. Will test back!

    Unsolved
    2
    0 Votes
    2 Posts
    98 Views
    D
    Up! just need 4 more testers ;)
  • Compiling Qt6 with wayland support

    Unsolved
    2
    0 Votes
    2 Posts
    181 Views
    Q
    Any one know where this file can be found?
  • Is there infrared port (IrDA) support for Android apps?

    Solved
    3
    0 Votes
    3 Posts
    144 Views
    G
    @SGaist Thank you, your answer helped me!
  • QML Application Shows Blank Screen After Background Termination on Android 15

    Unsolved
    4
    0 Votes
    4 Posts
    255 Views
    M
    Interesting, I received complaints from some users that this happens with and Android app I developed. They experience a grey screen on Android 15 (Qt 6.8.3) on Pixel phones. I have not experienced this myself on Android 14 on a Samsung Galaxy S22.
  • Unable to debug the Android Application Waiting for Debugger

    Unsolved
    15
    0 Votes
    15 Posts
    3k Views
    U
    Qt is very sensitive to the environment, and releases often contain bugs. The main conditions for successful assembly and debugging in my case: Android build-tool version: should be the latest, i.e. the maximum with which the build is successful. If the build is not successful, then the version should be downgraded. Android build platform SDK: should be the latest, i.e. the maximum, with which the build is successful. If the build is not successful, then you should downgrade the version (https://doc.qt.io/qt-6/android.html + select your Qt release on the page). By the way, on 04/02/2025, the application using API 35 is not built and you should select the previous API version (34). Android NDK must be exactly the one specified in the documentation for the Qt version used (https://doc.qt.io/qt-6/android.html + select your Qt release on the page). For example, for version Qt 6.8.3 and Qt creator version 16.0.0, successful building and debugging were provided by the following set of components: -build-tool version: 35.0.1 -build platform SDK: 34 or 33 -android NDK: 26.1.10909125 [image: 43d9a4f8-0edc-40c9-8c1b-a2ef980b3505.PNG] [image: 10b3d856-52fb-4088-8969-2115ba09579e.PNG]