我正在尝试使用 qt c++ 代码中的 android AccountManager。要添加一个帐户,我想创建一个实例android.accounts.Account
,我正在尝试使用以下代码执行此操作:
jstring jUsername = QAndroidJniObject::fromString(username).object<jstring>();
jstring jPassword = QAndroidJniObject::fromString(password).object<jstring>();
jstring jType = QAndroidJniObject::fromString(type).object<jstring>();
qDebug()<<"Creating";
QAndroidJniObject accountObject("android.accounts.Account","(Ljava/lang/String;Ljava/lang/String;)V",jUsername,jType);
qDebug()<<"Inserting";
代码在accountObject
创建的行出现段错误(打印“Creating”,而不是“Inserting”):
JNI ERROR (app bug): accessed deleted global reference 0x100e46
JNI ERROR (app bug): accessed deleted global reference 0xe46
我读到这种情况,如果我调用一个签名错误的方法,但签名是正确的(见这里)。