我希望我的应用能够登录并与Google Plus登录共享,第一次弹出并询问您想要登录和共享哪个Google帐户,但是当我试图在第二次弹出窗口不起作用,它正在采用我之前发布的默认帐户。Android - 使用Google Plus登录并共享
我试图清除默认帐户,但仍然无法正常工作。 有没有人请给我提供一些解决方案?
我希望我的应用能够登录并与Google Plus登录共享,第一次弹出并询问您想要登录和共享哪个Google帐户,但是当我试图在第二次弹出窗口不起作用,它正在采用我之前发布的默认帐户。Android - 使用Google Plus登录并共享
我试图清除默认帐户,但仍然无法正常工作。 有没有人请给我提供一些解决方案?
private static final int REQUEST_CODE_RESOLVE_ERR = 9000;
private static final int REQUEST_CODE_SHARE = 1000;
private PlusClient mPlusClient;
private PlusClient.Builder mPlusClientBuilder;
private PlusShare.Builder mPlusShareBuilder;
//Inside onCreate()
mPlusClientBuilder = new Builder(this, this, this);
mPlusClientBuilder.setScopes(Scopes.PLUS_LOGIN, Scopes.PLUS_PROFILE);
mPlusClient = mPlusClientBuilder.build();
mPlusClient.connect();
//on click on button share or login
btnSignIn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
if (!mPlusClient.isConnected() && btnSignIn.getText().equals(getString(R.string.signin))) {
mPlusClient.connect();
} else if (mPlusClient.isConnected() && btnSignIn.getText().equals(getString(R.string.signout))) {
mPlusClient.clearDefaultAccount();
mPlusClient.disconnect();
}
}
});
//Overrides methods
@Override
public void onConnectionFailed(ConnectionResult result) {
if (result.hasResolution()) {
// The user clicked the sign-in button already. Start to resolve
// connection errors. Wait until onConnected() to dismiss the
// connection dialog.
try {
result.startResolutionForResult(this, REQUEST_CODE_RESOLVE_ERR);
} catch (SendIntentException e) {
mPlusClient.disconnect();
mPlusClient.connect();
}
}
}
@Override
public void onConnected(Bundle arg0) {
String accountName = mPlusClient.getAccountName();
}
//onActivity result:
@Override
protected void onActivityResult(int requestCode, int responseCode, Intent data) {
super.onActivityResult(requestCode, responseCode, data);
if (requestCode == REQUEST_CODE_RESOLVE_ERR && responseCode == RESULT_OK) {
mPlusClient.disconnect();
mPlusClient.connect();
} else if (requestCode == REQUEST_CODE_SHARE && responseCode == RESULT_OK) {
finish();
}
}
//on Button Share click event:
btnShare.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (mPlusClient.isConnected()) {
mPlusShareBuilder = new PlusShare.Builder(getApplicationContext());
mPlusShareBuilder.setType("text/plain");
mPlusShareBuilder.setText(IN_SHARE_MESSAGE + IN_SHARE_LINK);
mPlusShareBuilder.setContentUrl(Uri.parse(IN_SHARE_LINK));
// Intent shareIntent =
// PlusShare.Builder.from(IJoomerGooglePlusShareActivity.this).setText().setType("text/plain").setContent(Uri.parse("http://example.com/cheesecake/lemon"))
// .getIntent();
Intent shareIntent = mPlusShareBuilder.getIntent();
startActivityForResult(shareIntent, REQUEST_CODE_SHARE);
} else {
Yoast.makeText(YOUR ACTIVITY.this,getString(R.string.signin_with_google_account), Toast.LENGTH_LONG).show();
}
}
});
无法正常工作我面临同样的问题,弹出窗口在第二次不工作,并且需要我之前发布的默认帐户 – Aashish
雅,因为如果您需要每次都需要,那么当您来到时在应用程序之外,只需注销以前的会话即可。那么只有它每次都会显示新的对话框。 –
表现出一定的code..see此链接https://developers.google.com/+/mobile/android/share/ – Shruti
我已经参考此链接共享部分工作正常,我能共享内容,但问题是当我第二次尝试分享流行音乐不工作时(它不是询问您想要分享哪个帐户),而是需要我之前发布的默认帐户。 – Aashish