从 android 应用程序共享后从 google plus 注销
Posted
技术标签:
【中文标题】从 android 应用程序共享后从 google plus 注销【英文标题】:logout from google plus after sharing from android application 【发布时间】:2015-10-07 06:39:04 【问题描述】:我正在制作一个 android 应用程序,用户可以通过它在 google 上分享他们对我的应用程序的看法。第一次,当我单击共享按钮时,它要求输入用户的用户名和密码,输入后共享成功执行,然后当我再次单击共享按钮时,它没有询问用户名和密码,应用程序只需使用登录老用户登录详细信息。这是一个应用程序,可供多个用户从单个设备使用。所以每次新用户使用我的应用程序时,他/她都应该被重定向到一个新的登录页面。
为了分享,我使用以下代码:-
shareButton.setOnClickListener(new View.OnClickListener()
@Override
public void onClick(View v)
// Launch the Google+ share dialog with attribution to your app.
Intent shareIntent = new PlusShare.Builder(HomeActivity.this)
.setType("text/plain")
.setText("Welcome to the Google+ platform.")
.setContentUrl(Uri.parse("https://developers.google.com/+/"))
.getIntent();
startActivityForResult(shareIntent, 0);
);
我已经使用以下代码来实现该方案,但问题似乎仍然存在。
if (mGoogleApiClient.isConnected())
Plus.AccountApi.clearDefaultAccount(mGoogleApiClient);
Plus.AccountApi.revokeAccessAndDisconnect(mGoogleApiClient)
.setResultCallback(new ResultCallback<Status>()
@Override
public void onResult(Status status)
mGoogleApiClient.disconnect();
);
private void revokeGplusAccess()
if (mGoogleApiClient.isConnected())
Plus.AccountApi.clearDefaultAccount(mGoogleApiClient);
Plus.AccountApi.revokeAccessAndDisconnect(mGoogleApiClient)
.setResultCallback(new ResultCallback<Status>()
@Override
public void onResult(Status arg0)
Log.e(TAG, "User access revoked!");
mGoogleApiClient.connect();
updateUI(false);
);
他们是不是 googleplus 集成以外的方法从 android 应用程序共享? 任何帮助表示赞赏
问候 阿杰
【问题讨论】:
【参考方案1】:你可以用这个:
private void signOutFromGplus()
if (mGoogleApiClient.isConnected())
Plus.AccountApi.clearDefaultAccount(mGoogleApiClient);
mGoogleApiClient.disconnect();
mGoogleApiClient.connect();
updateUI(false);
更多详情请参考this。
【讨论】:
我已经更新了我的代码并且之前使用过该链接。分享后,用户应该从 google plus 注销,当其他用户点击分享按钮时,它应该需要填写详细信息才能开始 “它应该需要填写详细信息才能开始”是什么意思?? 语法错误:-在google plus上分享后,用户应该从google plus注销,当其他用户点击分享按钮时,他/她应该填写他/她的详细信息才能在google plus上分享.我还在我的应用程序中集成了 facebook sdk,每次用户点击登录按钮时,他/她都会重定向到 webview 中的 facebook 登录页面。为此,我已经从我的 android 设备中删除了 facebook 应用程序 您是指详细信息的凭据?【参考方案2】:试试这个解决方案。
首先声明:
private static final int REQUEST_GOOGLE_SHARE = 10; // Or another number
在您的“共享”代码中使用:
startActivityForResult(shareIntent, REQUEST_GOOGLE_SHARE);
然后,您必须在onActivityResult()
方法中管理“注销/断开连接”。尝试以下方法:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data)
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode)
...
case REQUEST_GOOGLE_SHARE:
if (resultCode == Activity.RESULT_OK)
// Disconnect the user from Google
if (mGoogleApiClient.isConnected())
Plus.AccountApi.clearDefaultAccount(mGoogleApiClient);
Plus.AccountApi.revokeAccessAndDisconnect(mGoogleApiClient);
mGoogleApiClient.disconnect();
break;
通过这种方式,您可以调用startActivityOnResult()
方法分享您的帖子。
之后,onActivityResult()
被自动调用。在这种方法中,在REQUEST_GOOGLE_SHARE
的情况下,您检查共享是否顺利,如果是,则断开用户连接。
【讨论】:
以上是关于从 android 应用程序共享后从 google plus 注销的主要内容,如果未能解决你的问题,请参考以下文章
从在线数据库同步后从 android 应用程序获取 sqlite 数据库
如何从 Android 上的 Google 地图共享 url 获取坐标
与 Facebook iOS SDK 共享后从 Facebook 注销