我试图解决这个问题几天,但我找不到一个关于这个问题的好例子。我想我已经创建了很好的代码示例,但我不知道在哪里/如何使用它。
关于问题:每当应用程序来自前台时,我想检查Google Play服务是否可用。所以我想使用这段代码:
static final int REQUEST_CODE_RECOVER_PLAY_SERVICES = 1001;
private boolean checkPlayServices() {
int status = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this);
if (status != ConnectionResult.SUCCESS) {
if (GooglePlayServicesUtil.isUserRecoverableError(status)) {
showErrorDialog(status);
} else {
Toast.makeText(this, "This device is not supported.",Toast.LENGTH_LONG).show();
finish();
}
return false;
}
return true;
}
void showErrorDialog(int code) {
GooglePlayServicesUtil.getErrorDialog(code, this,REQUEST_CODE_RECOVER_PLAY_SERVICES).show();
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode) {
case REQUEST_CODE_RECOVER_PLAY_SERVICES:
if (resultCode == RESULT_CANCELED) {
Toast.makeText(this, "Google Play Services must be installed.",Toast.LENGTH_SHORT).show();
finish();
}
return;
}
super.onActivityResult(requestCode, resultCode, data);
}
现在我想用
检查服务if (checkPlayServices()) {
System.out.println("ok");
}
但在哪里?我试图在课程中使用扩展游戏的代码,但随后
int status = GooglePlayServicesUtil .isGooglePlayServicesAvailable(this);
路径无法找到。另一方面,当我把它放在单独的活动中时
public class AuthActivity extends Activity {
//all previous code
}
路径还可以。有人知道如何解决这个问题吗?
答案 0 :(得分:1)
回答:因为这是特定于Android的代码,所以必须在Android模块中使用该代码(包含Activity
类),而不是在Core模块中使用(包含类扩展Game
)。
原因:如果将该函数放入Core模块,则Core模块没有GooglePlayServicesUtil
的库依赖关系,因此您无法引用类GooglePlayServicesUtil
。有关使用Android专用代码的更多信息,请参阅this链接。