Qt andiord 如何获取 调用者传来的参数
调用者代码:
PackageManager packageManager = getPackageManager();
intent = new Intent();
intent = packageManager.getLaunchIntentForPackage("org.qtproject.example.CA8970");
intent.putExtra("dbpath", "/storage/emulated/0/CA8970-Data/Client");
startActivity(intent);
被调用者代码:
#include "widget.h"
#include <QApplication>
#include <QtAndroid>
#include <QAndroidJniObject>
int main(int argc, char *argv[])
{
QString qstr_param= "";
QAndroidJniObject jstr = QAndroidJniObject::fromString(QString("dbpath"));
QAndroidJniObject active = QtAndroid::androidActivity();
if( active.isValid() )
{
QAndroidJniObject intent = active.callObjectMethod("getIntent","(V)Landroid/content/Intent");
if( intent.isValid())
{
QAndroidJniObject jstr_param = intent.callObjectMethod("getStringExtra","(Ljava/lang/String;)Ljava/lang/String",jstr.object<jstring>());
qstr_param = jstr_param.toString();
}
else
{
qstr_param = QObject::tr("intent 不可用");
}
}
else
{
qstr_param = QObject::tr("active 不可用");
}
QApplication a(argc, argv);
Widget* w = new Widget();
w->show();
return a.exec();
}
Qt这部分代码无法获取到 调用者传来的参数