在 C++ 中从 qt 获取 Android 帐户管理器
Posted
技术标签:
【中文标题】在 C++ 中从 qt 获取 Android 帐户管理器【英文标题】:Getting Android account manager from qt in c++ 【发布时间】: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() << accountManager.isValid();
行的输出为 false。
【问题讨论】:
【参考方案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());
【讨论】:
哦,很好。但不幸的是,似乎还有其他问题,因为更正后我仍然得到相同的行为:-(。 是的!另一个错误:更改“。”在返回的类中为“/”。比你的答案更完整。以上是关于在 C++ 中从 qt 获取 Android 帐户管理器的主要内容,如果未能解决你的问题,请参考以下文章
在 python 中从服务器发送一些行到 QT(C++) 客户端
C++图形用户界面开发框架Qt 6.1入门级教程 - 入门指南
如何在 QT[C++] 中从 linux 机器连接 SQL Server 2008 R2?