底部来源
我正在使用一个名为“GameMaker:Studio”的程序,我正在为Android应用程序编写一个java扩展程序。我已经通过研究解决了其他一些问题,但现在我处在一个真正的障碍中。
我的问题是因为我实际上要创建我的GoogleApiClient实例并且有点工作,我无法访问其回调。
课程设置:
public class PlayerConnect extends Activity
implements GoogleApiClient.ConnectionCallbacks,GoogleApiClient.OnConnectionFailedListener,
RealTimeMessageReceivedListener,
RoomStatusUpdateListener, RoomUpdateListener, OnInvitationReceivedListener{
重要 导入:
// YYg ** These imports are here to make my class more functional
import ${YYAndroidPackageName}.R;
import ${YYAndroidPackageName}.RunnerActivity;
import com.yoyogames.runner.RunnerJNILib;
// Including
com.google.android.gms.common. --- all the used ones
com.google.android.gms.games. -- all the used ones
正如您所看到的,它继承自类,然后实现Google的客户端类使用的接口。它导入所有正确的导入。
一旦我创建我的客户就像这样,
mGoogleApiClient = new GoogleApiClient.Builder(RunnerActivity.CurrentActivity)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.addApi(Plus.API).addScope(Plus.SCOPE_PLUS_LOGIN)
.addApi(Games.API).addScope(Games.SCOPE_GAMES)
.build();
我可以使用它(略)。问题是虽然它是有效的,但活动属于RunnerActivity
而不是 我的类PlayerConnect
。这会导致问题,因为既然我的班级无法亲自处理我设置的回调,RunnerActivity
会,并且因为它不理解而最终崩溃。除了崩溃之外,我无法让我的程序对连接或故障做出反应。
无论如何我可以解决这个问题吗?如果我尝试使用 this 作为客户端构建器中的上下文,则永远不会创建客户端。我认为它与我从未实际创建的活动有关,但我认为我无法做到这一点,因为我已经尝试过复制捆绑并分享意图/这样但是没有这样的工作。
我希望能够做什么以某种方式将客户端回调推迟到我的类的功能,因为这是我唯一可行的事情。无论如何我可以重定向到我的功能吗?或者类似的?
我已经阅读了一些关于线程的事情,可能会创建一个解决方法,但我还没有让它工作,只是崩溃。像viewhandler这样的东西?
RunnerActivity.ViewHandler.post( new Runnable() {
public void run() {
onCreate(RunnerActivity.CurrentActivity.getIntent().extras());
onStart();
}
});