В приложении биллинг в Android - PullRequest
4 голосов
/ 28 марта 2011

Я использую следующий код:

public class MyBillingService extends Service implements ServiceConnection
{
    String TAG = "MyBillingService";

    @Override
    public void onCreate() 
    {
        super.onCreate();
        Log.i(TAG, "onCreate");

        try {
            boolean bindResult = getBaseContext().bindService(
                new Intent(IMarketBillingService.class.getName()), this, Context.BIND_AUTO_CREATE);
            if (bindResult) {
                Log.i(TAG, "Service bind successful.");
            } else {
                Log.e(TAG, "Could not bind to the MarketBillingService.");
            }
        } catch (SecurityException e) {
            Log.e(TAG, "Security exception: " + e);
        }
    }
}

Я также добавил IMarketBillingService.aidl, но все равно он выглядит так:

Не удалось привязать к MarketBillingService

Можете ли вы указать на мою ошибку?

Ответы [ 2 ]

0 голосов
/ 19 апреля 2012

Я тестировал на старом устройстве Android, на котором была установлена ​​чистая система.На нем не было копии приложения Google Market (hat tip @sstn).

Поэтому я вошел в систему с учетной записью Google, а затем запустил Market.Это побудило меня согласиться с условиями, и приложение Google Play появилось в списке приложений.

Затем я удалил и переустановил свое приложение, и оно правильно связалось со службой!

0 голосов
/ 08 апреля 2011

Я не знаю, является ли это причиной вашей проблемы, но вы используете bindService () для getBaseContext ().Есть ли причина, по которой вы не вызываете bindService () в экземпляре службы?Вот что делает пример службы.

Базовый контекст, по-видимому, в основном не нужен, и общий совет, похоже, его не использует.См. Другой вопрос: В чем разница между различными методами получения контекста?

Кроме того, вам нужна последняя (или хотя бы недавняя) версия Android Market.Приложение на вашем устройстве, хотя я предполагаю, что оно само обновляется.

Существует способ проверить, поддерживает ли рыночное приложение биллинг в приложении, где-то описано в справочнике по биллингу в приложении.Я предполагаю, что стоит сделать эту проверку.

...