【问题标题】:Getting Android account manager from qt in c++在 C++ 中从 qt 获取 Android 帐户管理器
【发布时间】:2016-01-11 00:17:06
【问题描述】:

使用此代码:

QAndroidJniObject activity = QtAndroid::androidActivity();
QAndroidJniObject accountManager = QAndroidJniObject::callStaticObjectMethod("android.accounts.AccountManager","get","(Landroid/content/Context;)android.accounts.AccountManager;",activity.object());
qDebug() << accountManager.isValid();

我正在尝试在 C++ 中获取 android AccountManager 的实例。不幸的是,qDebug() &lt;&lt; accountManager.isValid(); 行的输出为 false。

【问题讨论】:

    标签: android c++ qt qandroidjniobject


    【解决方案1】:

    我认为这是因为方法签名无效。你忘了L。您的对象名称也无效。查看一些 Qt 示例。总是这样

    jint max = QAndroidJniObject::callStaticMethod("java/lang/Math", "最大", "(II)I", a, b);

    所以有效的字符串是:

    QAndroidJniObject accountManager = QAndroidJniObject::callStaticObjectMethod("android/accounts/AccountManager","get","(Landroid/content/Context;)Landroid/accounts/AccountManager;",activity.object());
    

    【讨论】:

    • 哦,很好。但不幸的是,似乎还有其他问题,因为更正后我仍然得到相同的行为:-(。
    • 是的!另一个错误:更改“。”在返回的类中为“/”。比你的答案更完整。
    猜你喜欢
    • 1970-01-01
    • 2019-06-28
    • 2017-07-25
    • 1970-01-01
    • 2013-08-24
    • 1970-01-01
    • 1970-01-01
    • 2016-11-20
    • 1970-01-01
    相关资源
    最近更新 更多