我在服务中使用帐户管理器帐户(它扩展了FirebaseInstanceIdService)。如果theres没有有效的帐户,然后我使用accountManager.addAccount添加帐户。Android帐户管理器从服务添加帐户
这需要作为参数活动(用于启动帐户登录活动)。但是,当我从服务中调用addAccount时,我没有当前的活动放置在那里。如何从服务中调用addAccount并让它在需要的地方显示帐户登录?
public class MyFirebaseInstanceIDService extends FirebaseInstanceIdService {
private static final String TAG = "MyFirebaseIIDService";
@Override
public void onTokenRefresh() {
AccountManager accountManager = (AccountManager) getApplicationContext().getSystemService(ACCOUNT_SERVICE);
Account account[] = accountManager.getAccountsByType(ACCOUNT_TYPE);
if(account.length==0) {
Activity activity=???????//What can I set here
accountManager.addAccount(ACCOUNT_TYPE, AccountGeneral.AUTHTOKEN_TYPE_FULL_ACCESS, null,
null, activity, new AccountManagerCallback<Bundle>() {
public void run(AccountManagerFuture<Bundle> arg0) {
}
}, null);
return null;
}
//do stuff with ContentResolver using account
}
}
编辑显示一些代码来说明问题 – Nathan