我正在尝试从Google Play服务初始化History API。从我们更新应用程序以来,.useDefaultAccount()
方法无法正常工作,连接结果失败。这将导致登录提示出现在我们的应用程序中,用户需要选择他们的帐户。我们想阻止这一点。有没有办法做到这一点?
我们如何制作客户端对象并将其连接起来(在AsyncTask
内):
GoogleApiClient apiClient = new GoogleApiClient.Builder(context)
.addApi(Fitness.HISTORY_API)
.useDefaultAccount()
.build();
ConnectionResult connectionResult = apiClient.blockingConnect();
if (!connectionResult.isSuccess()) {
if (connectionResult.hasResolution() && context instanceof Activity) {
try {
connectionResult.startResolutionForResult((Activity) context, 1);
} catch (IntentSender.SendIntentException e) {
// Utter Failure
}
}
}
return null;
答案 0 :(得分:0)
Google API客户端应该是Activity的built on the onCreate
方法,而不是AsyncTask内部。尝试将代码块移动到适当的类。这可能是您获得 Intent intent = getActivity().getPackageManager().getLaunchIntentForPackage("com.gau.go.launcherex");
Intent go_action = new Intent("com.gau.go.launcherex.MyThemes.mythemeaction");
go_action.putExtra("type", 1);
go_action.putExtra("pkgname", getActivity().getPackageName());
getActivity().sendBroadcast(go_action);
getActivity().startActivity(intent);
。
答案 1 :(得分:0)
确保您正在onActivityResult()中正确处理帐户选择结果。如果您尚未连接到GoogleApiClient,则对话框将一直显示。