Pregunta

Estoy tratando de probar la facturación en la aplicación en mi aplicación de Android. El problema es que parece que mi mercado no está actualizado ya que no puedo vincularme al servicio de facturación (estoy usando el código de ejemplo de Android desde aquí. Sigo recibiendo el mensaje Esta aplicación no puede conectarse al mercado. Su versión del mercado puede estar desactualizada. Puede continuar usando esta aplicación, pero no podrá realizar compras.

Intenté actualizar el mercado abriéndolo, golpeando la casa y esperando 5-10 minutos e intentando nuevamente como se describe. aquí, pero no solucionó el problema. Estoy probando en uno nexus sin conexión telefónica, justo sobre wifi (no estoy seguro si esto es relevante) con OS 2.2. ¿Alguien más se ha encontrado con este problema?

Aquí está el código de mi actividad:

if (!mBillingService.checkBillingSupported()) {
    showDialog(DIALOG_CANNOT_CONNECT_ID);
}

Y este es el código de mi servicio de facturación que muestra que la facturación no es compatible:

public boolean checkBillingSupported() {
    return new CheckBillingSupported().runRequest();
}

    class CheckBillingSupported extends BillingRequest {
    public CheckBillingSupported() {
        // This object is never created as a side effect of starting this
        // service so we pass -1 as the startId to indicate that we should
        // not stop this service after executing this request.
        super(-1);
    }

    @Override
    protected long run() throws RemoteException {
        Bundle request = makeRequestBundle("CHECK_BILLING_SUPPORTED");
        Bundle response = mService.sendBillingRequest(request);
        int responseCode = response.getInt(Consts.BILLING_RESPONSE_RESPONSE_CODE);
        if (Consts.DEBUG) {
            Log.i(TAG, "CheckBillingSupported response code: " +
                    ResponseCode.valueOf(responseCode));
        }
        boolean billingSupported = (responseCode == ResponseCode.RESULT_OK.ordinal());
        ResponseHandler.checkBillingSupportedResponse(billingSupported);
        return Consts.BILLING_RESPONSE_INVALID_REQUEST_ID;
    }
}


    private boolean bindToMarketBillingService() {
    try {
        if (Consts.DEBUG) {
            Log.i(TAG, "binding to Market billing service");
        }
        boolean bindResult = bindService(
                new Intent(Consts.MARKET_BILLING_SERVICE_ACTION),
                this,  // ServiceConnection.
                Context.BIND_AUTO_CREATE);

        if (bindResult) {
            return true;
        } else {
            Log.e(TAG, "Could not bind to service.");
        }
    } catch (SecurityException e) {
        Log.e(TAG, "Security exception: " + e);
    }
    return false;
}
¿Fue útil?

Solución

Tal vez requiere que el teléfono tenga una conexión de datos móviles. Puede intentar instalar lo último aplicación del mercado a mano.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top