ACTION_CONFIRM_NOTIFICATION никогда не происходит - почему? - PullRequest
3 голосов
/ 11 января 2012

В моих попытках понять поток биллинга в приложении я запустил образец market_billing , как есть, плюс несколько Log.v () в ключевых точках, как в BillingService.handleCommand():

public void handleCommand(Intent intent, int startId) {
    String action = intent.getAction();
    if (Consts.DEBUG) {
        Log.i(TAG, "handleCommand() action: " + action);
    }
    if (Consts.ACTION_CONFIRM_NOTIFICATION.equals(action)) {
        String[] notifyIds = intent.getStringArrayExtra(Consts.NOTIFICATION_ID);
        confirmNotifications(startId, notifyIds);
    } else if (Consts.ACTION_GET_PURCHASE_INFORMATION.equals(action)) {
        String notifyId = intent.getStringExtra(Consts.NOTIFICATION_ID);
        getPurchaseInformation(startId, new String[] { notifyId });
    } else if (Consts.ACTION_PURCHASE_STATE_CHANGED.equals(action)) {
        String signedData = intent.getStringExtra(Consts.INAPP_SIGNED_DATA);
        String signature = intent.getStringExtra(Consts.INAPP_SIGNATURE);
        purchaseStateChanged(startId, signedData, signature);
    } else if (Consts.ACTION_RESPONSE_CODE.equals(action)) {
        long requestId = intent.getLongExtra(Consts.INAPP_REQUEST_ID, -1);
        int responseCodeIndex = intent.getIntExtra(Consts.INAPP_RESPONSE_CODE,
                ResponseCode.RESULT_ERROR.ordinal());
        ResponseCode responseCode = ResponseCode.valueOf(responseCodeIndex);
        checkResponseCode(requestId, responseCode);
    }
}

Моя проблема (?) В том, что я вижу в журналах все выполняемые действия, но ACTION_CONFIRM_NOTIFICATION по какой-то причине не отображается, несмотря на успешность транзакции.

Есть идеи, почему это так?

Чего мне не хватает?

Ответы [ 2 ]

1 голос
/ 27 января 2012

BillingReceiver ожидает сообщения IN_APP_NOTIFY, отправленного с рынка. Затем начнется подтверждение через службу. Получает ли ваш получатель сообщение IN_APP_NOTIFY?

У меня тоже есть похожая проблема. Мое приложение никогда не возвращает уведомление от приложения Маркета. Так что на самом деле нет ничего, чтобы подтвердить ваше приложение. Кажется, это уже давно известная проблема, как вы можете видеть здесь: http://code.google.com/p/marketbilling/issues/detail?id=14

1 голос
/ 25 января 2012

ACTION_CONFIRM_NOTIFICATION никогда не используется в BillingReceiver, и я понятия не имею, почему они объявляют его в handleCommand как CONFIRM_NOTIFICATION, в первую очередь не следует делать здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...