Я хочу знать технологию батареи в Android. Я закончил и хорошо сделал Javacode с транслятором. Но когда я использую класс java для получения батареи в Qt, намерение не запускается из Java-кода. Поэтому я решил запустить его в Qt.Ошибка, но я точно не знаю почему
QAndroidJniObject activity = QAndroidJniObject::callStaticObjectMethod("org/qtproject/qt5/android/QtNative", "activity", "()Landroid/app/Activity;");
if (activity.isValid())
{
QAndroidJniObject callConstant = QAndroidJniObject::getStaticObjectField<jstring>("android/content/Intent", "ACTION_BATTERY_CHANGED");
QAndroidJniObject callIntent("android/content/Intent", "(Ljava/lang/String;)V", callConstant.object());
QAndroidJniObject param = QAndroidJniObject::fromString("technology") ;
mySubstring = callIntent.callObjectMethod("getStringExtra"
,"(Ljava/lang/String;)Ljava/lang/String;"
,param.object()) ;
if(callIntent.isValid())
{
activity.callObjectMethod("startActivity", "(Landroid/content/Intent;)V", callIntent.object<jobject>());
//activity.callMethod<void>("startActivity","(Landroid/content/Intent;)V", callIntent.object<jobject>());
}
}
Обе линии делают программу привал очень плохо. Я до сих пор не знаю
activity.callObjectMethod("startActivity", "(Landroid/content/Intent;)V", callIntent.object<jobject>());
//activity.callMethod<void>("startActivity","(Landroid/content/Intent;)V", callIntent.object<jobject>());
Хорошие выходные для Pro! .