QT 5.14 Получить параметры из URI, используемого для открытия моего приложения - PullRequest
0 голосов
/ 07 февраля 2020

Я создаю приложение, которое по ссылке можно открыть. Я новичок в QT и до сих пор я могу только открыть приложение с помощью AndroidManifest, но не получить данные без URI. Например, в моем электронном письме у меня есть такая ссылка: https://waterapp.com/api/C56G82J9 Последняя часть (C56G82J9) - это токен, который мне нужно получить в моем приложении QT. В моем манифесте у меня есть это:

<intent-filter>
  <action android:name="android.intent.action.VIEW" />
  <category android:name="android.intent.category.DEFAULT" />
  <category android:name="android.intent.category.BROWSABLE" />
  <data android:scheme="http" android:host="waterapp.com" android:path="/api" />
</intent-filter>

При этом, когда я нажимаю на ссылку https://waterapp.com/api, как этот вариант, появляется возможность открыть мое приложение, если у меня есть ссылка с токеном https://waterapp.com/api/C56G82J9 Он попытался открыть прямо в браузере. Так что я просто хочу знать, где я должен поместить свои параметры, а затем, как я могу получить их в своем коде QT? Мой фактический код в QT вставлен в main. cpp

int main(int argc, char *argv[])
{
    QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
    QGuiApplication app(argc, argv);

    QAndroidIntent serviceIntent = QAndroidIntent(QtAndroid::androidActivity().object(), "com.example.MyService");
    qDebug() << serviceIntent.handle().toString();
    Device d;
    d.setTokenFromUrl(serviceIntent.handle().toString());
    auto view = new QQuickView;
    view->rootContext()->setContextProperty("device", &d);

    view->setSource(QUrl("qrc:/assets/test.qml"));
    view->setResizeMode(QQuickView::SizeRootObjectToView);
    view->show();
    return QGuiApplication::exec();
}

Конечным результатом должна быть передача строки с параметрами на устройство, чтобы я мог использовать ее внутри приложения. Я не уверен насчет QAndroidIntent (), и я не знаю, что ставить между кавычками (com.example.MyService). Спасибо, yall

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...