谷歌+登录codenameone不在设备中工作

时间:2016-04-04 10:10:00

标签: codenameone

谷歌登录在模拟器中工作,但应用程序在我检查的所有设备中崩溃。

sign.addActionListener((e) -> {
    String clientId = "704790222159-n1cpb3g1q3plirslu5739apc0gnnv4pp.apps.googleusercontent.com";
    String redirectURI = "https://www.youtube.com/";
    String clientSecret = "q_cxGCCbX5GVC99kxgstjksB";
    gc = GoogleConnect.getInstance();
    gc.setClientId(clientId);
    gc.setRedirectURI(redirectURI);
    gc.setClientSecret(clientSecret);
    gc.setScope("https://www.googleapis.com/auth/youtube.force-ssl");
    gc.setCallback(new LoginCallback() {
        @Override
        public void loginFailed(String errorMessage) {
            Dialog.show("Error Logging In", "There was an error logging in: " + errorMessage, "OK", null);
        }

        @Override
        public void loginSuccessful() {
            Dialog.show("Logged In", "you are currently logged in ", "OK", null);
        }
        });
        if (!gc.isUserLoggedIn()) {
            gc.doLogin();
        } else {
            token = gc.getAccessToken().getToken();
        }
});

在模拟器中出现以下登录页面并且它工作正常但在实际设备中登录页面(允许/拒绝页面)在我登录后没有出现,然后应用程序在一段时间后崩溃

enter image description here

错误日志:

error log

详细日志:

device error log

2 个答案:

答案 0 :(得分:1)

昨天我调试了类似的问题。这是因为应用程序没有获得适当的权限。如果您手动授予设备权限(在settings-> apps->您的应用下),Google的登录功能将正常工作(至少在Android,iOS上我仍然无法开始工作,它只是旋转无休止)。

不幸的是,它构建了这样的谜团,这些谜团在任何文档中都没有解释,这些文档阻止我对代号进行投资。它似乎有很大的潜力,但是我不断面对墙壁,这样的问题会降低我的工作效率。

答案 1 :(得分:0)

模拟器使用所有这些适用于Web登录后备的提示。该设备使用本机登录,通过构建提示和网站配置的组合定义。

我建议您阅读开发者指南的this section

我还建议将有线电视连接到Android设备并使用Android SDK DDMS工具调试此类型的崩溃。