本文共 1991 字,大约阅读时间需要 6 分钟。
问题:
今天在接入爱贝支付平台的时候,出现一个错误:
01-28 18:00:05.614: E/AndroidRuntime(25801): FATAL EXCEPTION: GLThread 5466 01-28 18:00:05.614: E/AndroidRuntime(25801): java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare() 01-28 18:00:05.614: E/AndroidRuntime(25801): at android.os.Handler.<init>(Handler.java:121) 01-28 18:00:05.614: E/AndroidRuntime(25801): at android.app.Dialog.<init>(Dialog.java:142) 01-28 18:00:05.614: E/AndroidRuntime(25801): at android.app.AlertDialog.<init>(AlertDialog.java:114) 01-28 18:00:05.614: E/AndroidRuntime(25801): at android.app.AlertDialog.<init>(AlertDialog.java:110) 01-28 18:00:05.614: E/AndroidRuntime(25801): at android.app.ProgressDialog.<init>(ProgressDialog.java:96) 01-28 18:00:05.614: E/AndroidRuntime(25801): at com.iapppay.ui.widget.IPayLoadingDialog.<init>(Unknown Source) 01-28 18:00:05.614: E/AndroidRuntime(25801): at com.iapppay.sdk.main.SDKMain.showPrograssBar(Unknown Source) 01-28 18:00:05.614: E/AndroidRuntime(25801): at com.iapppay.sdk.main.SDKMain.begSession(Unknown Source) 01-28 18:00:05.614: E/AndroidRuntime(25801): at com.iapppay.sdk.main.SDKMain.onPreCallPayHub(Unknown Source) 01-28 18:00:05.614: E/AndroidRuntime(25801): at com.iapppay.sdk.main.IAppPay.startPay(Unknown Source) 01-28 18:00:05.614: E/AndroidRuntime(25801): at com.zssbd.zjd.IZhiAppPay.startPayhub(IZhiAppPay.java:39) 01-28 18:00:05.614: E/AndroidRuntime(25801): at org.cocos2dx.lib.Cocos2dxRenderer.nativeRender(Native Method) 01-28 18:00:05.614: E/AndroidRuntime(25801): at org.cocos2dx.lib.Cocos2dxRenderer.onDrawFrame(Cocos2dxRenderer.java:94) 01-28 18:00:05.614: E/AndroidRuntime(25801): at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1516) 01-28 18:00:05.614: E/AndroidRuntime(25801): at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240) 这是因为在cocos2dx opengl线程中调用android UI主线程的东西,解决方法: new Handler(Looper.getMainLooper()).post(new Runnable() { @Override public void run() { } }); 转载地址:http://kpsmi.baihongyu.com/