Это широко популярная проблема среди тех, кто внедряет биллинг In-app в Android, о том, как обрабатывать несколько учетных записей. Если у пользователя настроено несколько учетных записей, какой из них будет использоваться для выставления счетов в приложении (так как нет возможности разрешить пользователю выбирать учетную запись)? После многократного копания, следующий абзац здесь, кажется, объясняет это.
Примечание. Для проведения тестовых покупок учетная запись для проверки лицензии должна находиться на устройстве Android для пользователей. Если устройство имеет более одной учетной записи, покупка будет производиться с учетной записью, загружающей приложение. Если ни одна из учетных записей не загрузила приложение, покупка производится с помощью первой учетной записи. Пользователи могут подтвердить учетную запись, которая совершает покупку, путем расширения диалогового окна покупки.
Я создаю полезную нагрузку разработчика, используя учетную запись, которая используется для биллинга приложений, чтобы ее можно было восстановить должным образом в более поздний момент времени или на каком-либо другом устройстве. Но, поскольку Honeycomb, нет такой вещи, как Первичная учетная запись. Пользователь может удалить любую учетную запись, может быть та, с которой было куплено приложение, и в этом случае первая учетная запись из списка учетных записей будет использоваться для выставления счетов. Теперь, если я знаю, какая учетная запись была использована, и если это не "учетная запись с установленным приложением", я могу хотя бы сообщить пользователю, что последующие покупки не будут восстановлены позже.
Итак, мой вопрос...
Есть ли способ найти, какая учетная запись была использована для загрузки приложения?
Google Play, похоже, использует эту информацию. В любом случае мы можем взаимодействовать с Google Play до этого уровня?
note: PackageManager, похоже, не справляется с этим.