从Qt / QML启动java Android Activity,然后返回

时间:2014-09-03 14:56:51

标签: android qt android-activity java-native-interface qml

我有一个QT活动,使用JNI启动Android活动以连接Facebook。 这是正常的,但我获得Facebook权限后需要我的应用程序,回到QT中的qml

这就是我从QT调用Java活动的方式

void FacebookAndroid::startAndroidFacebook() {
QAndroidJniObject::callStaticMethod<void>("org.qtproject.example.MainActivity",
                                          "startFacebookActivity",
                                          "()V");

}

这是我调用的java活动 - 我实现了一个按钮以返回Qt活动:

public class MainActivity extends Activity {

 ....
  static public void startFacebookActivity() {
  String msgTag = "FACEBOOK_APP";
  try {
      Log.v(msgTag, "starting activity");
      Activity mother = QtNative.activity();
      Log.v(msgTag, mother.toString());
      Log.v(msgTag, MainActivity.class.getName());
      Intent intent = new Intent(mother, MainActivity.class);
      mother.startActivity(intent);
  } catch (Exception e) {
      Log.e(msgTag, e.toString());
      e.printStackTrace();
  }
}

        public void goBack(View v){
         Log.d(QtApplication.QtTAG, "######### BACK BTN PRESSED");
         Intent intent = new Intent(Intent.ACTION_VIEW);
         //intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
         //intent.addFlags(Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY);
         intent.addFlags(Intent.FLAG_ACTIVITY_PREVIOUS_IS_TOP);

         intent.setClassName(this, QtActivity.class.getName());
         startActivity(intent);
         //navigateUpTo(intent);
    }

}

正如您所看到的,我尝试设置所有类型的标志以使其正确返回 到以前的QML屏幕,但没有任何作用。 当按下它时,它应该返回到我的主要QML屏幕。

那么,任何人都可以帮忙吗?我相信这应该是一个常见的场景:从内部/ QML启动java Android Activity屏幕,然后返回。

0 个答案:

没有答案