Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 登录google play games服务时出错:looper.prepare()可以';别叫了_Java_Android_Libgdx_Google Play Services - Fatal编程技术网

Java 登录google play games服务时出错:looper.prepare()可以';别叫了

Java 登录google play games服务时出错:looper.prepare()可以';别叫了,java,android,libgdx,google-play-services,Java,Android,Libgdx,Google Play Services,我从play developer控制台收到此错误:- java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare() at android.os.Handler.<init>(Handler.java:121) at android.app.Dialog.<init>(Dialog.java:101) at and

我从play developer控制台收到此错误:-

java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
    at android.os.Handler.<init>(Handler.java:121)
    at android.app.Dialog.<init>(Dialog.java:101)
    at android.app.AlertDialog.<init>(AlertDialog.java:63)
    at android.app.AlertDialog.<init>(AlertDialog.java:59)
    at android.app.AlertDialog$Builder.create(AlertDialog.java:793)
    at com.google.android.gms.common.GoogleApiAvailability.zza(Unknown Source)
    at com.google.android.gms.common.GoogleApiAvailability.getErrorDialog(Unknown Source)
    at com.google.android.gms.common.GooglePlayServicesUtil.getErrorDialog(Unknown Source)
    at com.google.example.games.basegameutils.GameHelper.showFailureDialog(GameHelper.java:953)
    at com.google.example.games.basegameutils.GameHelper.showFailureDialog(GameHelper.java:920)
    at com.google.example.games.basegameutils.GameHelper.giveUp(GameHelper.java:898)
    at com.google.example.games.basegameutils.GameHelper.resolveConnectionResult(GameHelper.java:865)
    at com.google.example.games.basegameutils.GameHelper.beginUserInitiatedSignIn(GameHelper.java:662)
    at com.sdsmdg.cycle.AndroidLauncher.signIn(AndroidLauncher.java:90)
    at com.sdsmdg.cycle.screens.SplashScreen.<init>(SplashScreen.java:41)
    at com.sdsmdg.cycle.CGame.create(CGame.java:23)
    at com.badlogic.gdx.backends.android.AndroidGraphics.onSurfaceChanged(AndroidGraphics.java:275)
    at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1381)
    at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1138)
java.lang.RuntimeException:无法在未调用Looper.prepare()的线程内创建处理程序
android.os.Handler.(Handler.java:121)
在android.app.Dialog.(Dialog.java:101)
在android.app.AlertDialog.(AlertDialog.java:63)
在android.app.AlertDialog.(AlertDialog.java:59)
在android.app.AlertDialog$Builder.create上(AlertDialog.java:793)
在com.google.android.gms.common.GoogleApiAvailability.zza(未知来源)
位于com.google.android.gms.common.GoogleAppAvailability.getErrorDialog(未知来源)
在com.google.android.gms.common.GooglePlayServicesUtil.getErrorDialog(未知来源)
在com.google.example.games.basegameutils.GameHelper.showFailureDialog(GameHelper.java:953)上
在com.google.example.games.basegameutils.GameHelper.showFailureDialog(GameHelper.java:920)上
位于com.google.example.games.basegameutils.GameHelper.giveUp(GameHelper.java:898)
在com.google.example.games.basegameutils.GameHelper.resolveConnectionResult(GameHelper.java:865)上
在com.google.example.games.basegameutils.GameHelper.beginUserInitiatedSignIn(GameHelper.java:662)上
在com.sdsmdg.cycle.AndroidLauncher.signIn(AndroidLauncher.java:90)
在com.sdsmdg.cycle.screens.SplashScreen.(SplashScreen.java:41)
位于com.sdsmdg.cycle.CGame.create(CGame.java:23)
位于com.badlogic.gdx.backends.android.AndroidGraphics.onSurfaceChanged(AndroidGraphics.java:275)
位于android.opengl.GLSurfaceView$GLThread.guarderun(GLSurfaceView.java:1381)
位于android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1138)
当用户无法登录到google play服务时,它看起来会崩溃,但我无法找到解决此问题的方法

以下是游戏的源代码:-

您正在尝试从后台线程显示AlertDialog。要显示您的对话框,请添加Looper.prepare()或使用mainUiThread显示对话框。

您是否尝试过:

runOnUiThread(新的Runnable(){
@凌驾
公开募捐{
gameHelper.beginUserInitiatedSignIn();
}
});

而不仅仅是

gameHelper.beginUserInitiatedSignIn()


我知道这一点,但具体怎么做呢。我正在呼叫gameHelper.beginUserInitiatedSignIn();我的主要活动和休息由游戏库负责