QtAndroid::startActivity用法
时间: 2024-05-06 20:17:21 浏览: 222
QtAndroid::startActivity是一个静态函数,用于在Android上启动一个Activity。它的函数原型如下:
```cpp
bool QtAndroid::startActivity(const QAndroidJniObject &intent, int requestCode = 0)
```
其中,参数intent是一个QAndroidJniObject类型的对象,表示要启动的Activity的意图。requestCode是一个整数,表示请求代码,可选参数,默认值为0。
以下是一个使用示例,启动一个浏览器Activity:
```cpp
#include <QtAndroid>
void launchBrowser(const QString &url)
{
QAndroidJniObject intent("android/content/Intent",
"(Ljava/lang/String;)V",
QAndroidJniObject::fromString("android.intent.action.VIEW"));
QAndroidJniObject uri = QAndroidJniObject::callStaticObjectMethod("android/net/Uri",
"parse",
"(Ljava/lang/String;)Landroid/net/Uri;",
QAndroidJniObject::fromString(url).object());
intent.callObjectMethod("setData", "(Landroid/net/Uri;)Landroid/content/Intent;", uri.object());
QtAndroid::startActivity(intent, 0);
}
```
该函数首先创建一个Intent对象,表示要启动一个浏览器Activity,并将其设置为“查看”操作。然后,将url参数转换为Android的URI对象,并将其设置为Intent的数据。最后,调用QtAndroid::startActivity函数启动Activity。
阅读全文