【问题标题】:Error but I do not know exactly why错误,但我不知道确切原因
【发布时间】:2015-06-13 09:12:25
【问题描述】:

我想了解Android中的电池技术。我已经用 broadcastreceiver 完成并很好地完成了 Javacode。但是当我在 Qt 中使用 java 类获取电池时,意图不会从 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 周末好! .

【问题讨论】:

    标签: android qt android-intent battery


    【解决方案1】:

    我发现解决的方法是在 main 中使用 QtAndroid::androidActivity().callMethod 并更改 MyActivity extends QtActivity 而不是 Activity 或在 Android 中。这很简单,通过这种方式我可以获得电池信息。这才是解决的好办法。但是为什么我之前的代码activity.callObjectMethod("startActivity", "(Landroid/content/Intent;)V", callIntent.object());使程序严重崩溃是不是我还没有弄清楚。谢谢。

    【讨论】:

      猜你喜欢
      • 2018-04-12
      • 2022-11-01
      • 2021-07-06
      • 1970-01-01
      • 2020-09-08
      • 2015-07-24
      • 2010-12-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多