Только одному BroadcastReceiver разрешено получать биллинговые трансляции для Android-биллинга в приложении? - PullRequest
1 голос
/ 16 апреля 2011

Я получил пример приложения для выставления счетов в Google (Dungeons), работающего просто отлично. Однако я пытаюсь зарегистрировать второй получатель биллинга для приложения, которое пишу, и не могу этого сделать. Кажется, что только первый получатель, объявленный в моем AndroidManifest.xml, является тем, кто получает широковещательные сообщения, но любой следующий за первым не получает широковещательные сообщения. Во время выполнения я подтвердил, что трансляция не является упорядоченной трансляцией с помощью isOrderedBroadcast (), поэтому я не отменяю трансляцию где-либо (можно прервать только упорядоченную трансляцию). Любая помощь с этим будет принята с благодарностью.

1 Ответ

0 голосов
/ 02 августа 2016

Возможно, первый получатель должен быть незарегистрирован, прежде чем второй сможет сделать то, что он пытается сделать.В своей деятельности переопределите метод onStop (), чтобы получатель рассылки не регистрировался после закрытия действия.Это то, что сработало для меня.

// Import statements go here.

public class MyActivity extends AppCompatActivity implements IabBroadcastReceiver.IabBroadcastListener {

    // Other variables and methods go here.

    // Unregister the receiver when the activity closes.
    @Override
    protected void onStop()
    {
        try {
            unregisterReceiver(YOUR_BROADCAST_RECEIVER_VARIABLE_NAME_HERE);
        } catch (Exception ex) {
            // Uncomment the following for debugging.
            //ex.printStackTrace();
        }

        // Call the original onStop() method.
        super.onStop();
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...