我尝试使用许多文档和资源,但是找不到将Googleapiclient传递给其他活动的正确方法。
对我来说,成功进行Google Play游戏登录是一项活动。我想在其他活动中提交分数。
请提供一个有关如何完成我的项目的想法。
最佳答案
如果您需要一直连接到GoogleApiClient,那么我可能会制作一个singleton类来处理GoogleApiClient调用。
/**
* Class to maintain singlton object of google api
*/
public class GoogleApiClient_Singleton {
private static final String TAG = "GoogleApiClient";
private static GoogleApiClient_Singleton instance = null;
private static GoogleApiClient mGoogleApiClient = null;
protected GoogleApiClient_Singleton() {
}
public static GoogleApiClient_Singleton getInstance(GoogleApiClient aGoogleApiClient) {
if(instance == null) {
instance = new GoogleApiClient_Singleton();
if (mGoogleApiClient == null)
mGoogleApiClient = aGoogleApiClient;
}
return instance;
}
public GoogleApiClient get_GoogleApiClient(){
return mGoogleApiClient;
}
}
或为了从任何地方访问对象,
在应用程序类文件中创建对象。不要忘记在清单中添加应用。
然后在第二个活动中创建一个新的GoogleApiClient实例,然后像这样获取api客户端
public class App extends Application {
private static GoogleApiClient mGoogleApiClient;
private static App mInstance;
@Override
public void onCreate() {
super.onCreate();
mInstance = this;
}
public void setClient(GoogleApiClient client){
mGoogleApiClient = client;
}
public GoogleApiClient getClient(){
return mGoogleApiClient;
}
}
// In second activity
GoogleApiClient client = App.getInstance().getClient();
清单更新
<application
android:name=".App"
... other tags
/>
关于android - 如何将Googleapiclient传递给Google Play游戏的所有其他 Activity ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45634946/