当前位置: 首页 > 知识库问答 >
问题:

电容插件不向java传递参数

子车勇锐
2023-03-14

我正在使用这个插件在一个离子反应/电容项目中实现Google Play Games服务。

05-09 07:44:51.544 15437 15524 V Capacitor/Plugin: To native (Capacitor plugin): callbackId: 129018517, pluginId: GameServices, methodName: showLeaderboard
05-09 07:44:51.544 15437 15524 V Capacitor: callback: 129018517, pluginId: GameServices, methodName: showLeaderboard, methodData: {}
05-09 07:44:51.545 15437 15502 W GameServices: showLeaderboard called without providing leaderboardId

如您所见,methodData为空。

我对java完全不了解(因此我为什么使用电容),但这是我能找到的唯一一段看起来与之相关的代码,在android\src\main\java\gameservices.java中,在GitHub链接中。

@PluginMethod()
    public void showLeaderboard(final PluginCall call) {
        final String leaderboardId = call.getString("leaderboardId");
        if (leaderboardId == null) {
            Log.w(TAG, "showLeaderboard called without providing leaderboardId");
            return;
        }
        Log.d(TAG, "showLeaderboard called with id: " + leaderboardId);

        final GoogleSignInAccount lastSignedInAccount = GoogleSignIn.getLastSignedInAccount(getContext());
        if (null == lastSignedInAccount) {
            Log.w(TAG,
                    "cannot find last signed in account, either services are disabled or fingerprint doesn't match services account");
            call.resolve();
            return;
        }

        Games.getLeaderboardsClient(getContext(), lastSignedInAccount).getLeaderboardIntent(leaderboardId)
                .addOnCompleteListener(task -> {
                    if (task.isSuccessful()) {
                        Log.d(TAG, "showLeaderboard:getIntent:success");
                        saveCall(call);
                        startActivityForResult(call, task.getResult(), RC_LEADERBOARD_UI);
                    } else {
                        Log.e(TAG, "showLeaderboard:getIntent:error");
                        call.reject("showLeaderboard:getIntent:error");
                    }
                });
    }

你能帮我解决这个问题吗?它似乎是唯一一个Google Play Games电容插件远程工作...

编辑1:我应该注意,gameservices.signin();方法工作得很好。

Edit2:尝试调用GameServices.UnlockEquisition(“abcdef”);也不工作,日志记录成就ID不能为null或空。显然,任何需要论证的方法都行不通。

共有1个答案

阴英武
2023-03-14

在浏览了所有的插件代码之后,我意识到这些方法期望对象作为参数。

这是可行的:

GameServices.showLeaderboard({leaderboardId: "abcdefghijklmnopqr"});
 类似资料:
  • 我正在使用Java Webstart运行一个应用程序,但它需要在使用Java9+运行时打开一个模块:

  • 我正在一个java类中运行一个python脚本,如下所示: 问题在于脚本。py通常采用如下命令行参数: Pythonscript.py-i C:/diretory/path-o C:/目录/路径 有可能在Java中通过PythonTeperter传递这些参数吗? 更新: 感谢Juned Ahsan我的代码现在是这样的: 但是脚本仍然没有得到任何参数。 我这样用对了吗?

  • 这是我在这里的第一个问题! 我试图将一个Map作为参数从struts动作传递给一个报告。我已经在reportParameters映射中插入了映射,该映射将被传递给jrxml文件。 我的问题是这个Map是否可以在jrxml文件中检索。 更准确地说,我声明如下: 我想这样使用它: 这可能吗?因为我在应用程序服务器日志中不断收到此错误: 我的动作类如下: 任何提示都会有帮助!

  • 我们的遗留应用程序使用Wildfly8.0版本。我们试图将datasource值作为参数传递到standalone.xml文件中,但是wildfly无法识别$sign而引发错误。 standalone.xml 下面是使用jboss-cli阅读时看到的值 谢谢Rakesh

  • 问题内容: 在flask中,我可以这样做: 并且如果foo.html包含,页面将会显示。但是,如果有一条通往foo的路线怎么办: 在这种情况下,如果我仍然希望这种逻辑发生,那么进入foo.html的唯一方法是通过: 因此,如何使该变量传递到路由,这样我不必在加载路由之前重写重写该路由计算的逻辑代码? 问题答案: 你可以将消息作为显式URL参数传递(正确编码),也可以在重定向之前将消息存储到(coo

  • 我正在使用gradle liquibase插件(https://github.com/liquibase/liquibase-gradle-plugin)但我不知道如何传递参数和值。 我想基于标记和日期构建回滚,但我只能使用以下命令回滚标记: 我不明白我应该如何传递数据、标签或计数。 我的成绩。构建非常简单: