是否可以通过 Intent 将 Android Account 对象从一个活动传递到另一个活动?如果是这样,怎么做?这是良好的编程习惯吗?
问问题
1281 次
3 回答
3
如果你的意思是android.accounts.Account
“是”,因为它实现了,Parcelable
你可以Intent
使用putExtra(String name, Parcelable value)
.Intent
无论它是否是良好的编程实践......这完全取决于您为什么要这样做以及Activity
收到它的人会用它做什么。
于 2012-10-06T23:53:27.437 回答
2
您可以通过Intent将帐户发送到其他活动
如果用户已经登录,首先获取帐户
GoogleSignInAccount account;
account = GoogleSignIn.getLastSignedInAccount(this);
然后在 Intent 中将帐户作为 Extra 传递
Intent intent = new Intent(this,ReceiverActivity.class);
intent.putExtra("ACCOUNT",account);
startActivity(intent);
并在 ReceiverActivity
GoogleSignInAccount account =getIntent().getParcelableExtra("ACCOUNT");
然后您可以从用户的个人资料中获取其他详细信息,例如
String personName = account.getDisplayName();
String personGivenName = account.getGivenName();
String personFamilyName = account.getFamilyName();
String personEmail = account.getEmail();
String personId = account.getId();
Uri personPhoto = account.getPhotoUrl();
于 2017-11-17T07:27:33.153 回答
0
您能否提供一个代码示例,并稍微解释一下您使用此传递的具体目的是什么?
您可能希望优化应用程序的流程,以便直接处理帐户信息,并在需要时创建帐户对象。
于 2012-10-06T23:44:48.400 回答