【问题标题】:Accessing intent extras in jmonkey engine appstates?在 jmonkey 引擎应用程序状态中访问意图附加功能?
【发布时间】:2014-02-11 11:10:16
【问题描述】:

我想在 jMonkey 应用程序中访问通过 android 意图传递的变量。我可以使用 MainActivity 中的典型意图变量读取代码访问这些变量

   @Override
    public void onCreate(Bundle savedInstanceState) {
        //super.onCreate(savedInstanceState);
        Bundle parameters = getIntent().getExtras();
        System.out.println("hurr");
        if (parameters != null) {
            String name = parameters.getString("myextra");
            System.out.println(name);
            //Integer age = parameters.getInt("age");
        }
    }

但是我想在 jMonkey AppStates 中访问这些变量,但我不知道如何将保存这些变量的对象的引用传递给 jMonkey 系统。我无法从 MainActivity 访问 AppStateManager,也无法使用 JmeSystem 对象从 AppState 访问 JmeAndroidSystem 引用。

有没有一种很好的沟通方式,而不是破解 AndroidHarness 和 JmeSystem 代码以使 JmeAndroidSystem 可见。

【问题讨论】:

    标签: android android-intent jmonkeyengine


    【解决方案1】:

    JMonkey 在 MainActivity 中也提供了应用变量实例。

    您可以在 OnCreate() 方法中定义一个新的 AppState 来存储 Intent 的上下文,app.getStateManager.getState(XYZ.class) 可以访问该方法。

    String url = getIntent().getStringExtra("url");
    String uname = getIntent().getStringExtra("username");
    String pass = getIntent().getStringExtra("password");
    String amcatID = getIntent().getStringExtra("amcatID");
    String moduleID = getIntent().getStringExtra("moduleID");
    
    if (url!=null && uname!=null && pass!=null && amcatID!=null && moduleID!=null) {
        System.out.println("hurrhurr");
        System.out.println(url);
        System.out.println(uname);
        System.out.println(pass);
        System.out.println(amcatID);
        System.out.println(moduleID);
        app.getStateManager().attach(new SOAPCommunication(url,uname,pass,amcatID,moduleID));
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-08
      • 2013-10-27
      • 2012-03-01
      相关资源
      最近更新 更多