J'utilise un compte de gestionnaire de compte dans un service (qui étend FirebaseInstanceIdService). S'il n'y a pas de compte valide, j'ajoute le compte en utilisant accountManager.addAccount.Android AccountManager addAccount du service
Cela prend comme une activité de paramètre (qui est utilisée pour démarrer l'activité de connexion au compte). Cependant, comme j'appelle addAccount à partir d'un service, je n'ai pas d'activité en cours à y placer. Comment puis-je appeler addAccount à partir d'un service et l'obtenir pour afficher la connexion au compte si nécessaire?
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
}
}
édité pour montrer du code pour illustrer le problème – Nathan