Erik B
Erik B

Reputation: 2858

Intent does not resolve

Keep getting this error while implementing billing. What is going on?

01-30 22:33:31.600: E/Finsky(25902): [1] IntentUtils.createIntentForReceiver: Could not find receiver for com.example.game.android
01-30 22:33:31.610: D/Finsky(25902): [1] MarketBillingService.sendResponseCode: Response RESULT_USER_CANCELED cannot be delivered to com.example.game.android. Intent does not resolve.

Manifest:

        ...
        <activity android:name="com.paypal.android.MEP.PayPalActivity"
                  android:theme="@android:style/Theme.Translucent.NoTitleBar"
                  android:configChanges="keyboardHidden|orientation"/>
</application>
    <uses-permission android:name="com.android.vending.BILLING" />

    <service android:name=".api.billing.BillingService" />

<receiver android:name=".api.billing.BillingReceiver">
  <intent-filter>
    <action android:name="com.android.vending.billing.IN_APP_NOTIFY" />
    <action android:name="com.android.vending.billing.RESPONSE_CODE" />
    <action android:name="com.android.vending.billing.PURCHASE_STATE_CHANGED" />
  </intent-filter>
</receiver>

Upvotes: 0

Views: 1242

Answers (2)

Catherine Darrow
Catherine Darrow

Reputation: 321

I had the same problem, but a different solution: I had forgotten to include an <intent-filter> in my <receiver> tag. It looked like this:

    <receiver android:name="com.blah.blah.blah.MessageReceiver">
     <action android:name="com.android.vending.billing.IN_APP_NOTIFY" />
     <action android:name="com.android.vending.billing.RESPONSE_CODE" />
     <action android:name="com.android.vending.billing.PURCHASE_STATE_CHANGED" />                 
    </receiver>

Moral of the story: double check your manifest!

Upvotes: 1

Erik B
Erik B

Reputation: 2858

The service and receiver need to be in the application tag!

        ...
        <activity android:name="com.paypal.android.MEP.PayPalActivity"
                  android:theme="@android:style/Theme.Translucent.NoTitleBar"
                  android:configChanges="keyboardHidden|orientation"/>
        <service android:name=".api.billing.BillingService" />

        <receiver android:name=".api.billing.BillingReceiver">
            <intent-filter>
                <action android:name="com.android.vending.billing.IN_APP_NOTIFY" />
                <action android:name="com.android.vending.billing.RESPONSE_CODE" />
                <action android:name="com.android.vending.billing.PURCHASE_STATE_CHANGED" />
            </intent-filter>
        </receiver>
    </application>
    <uses-permission android:name="com.android.vending.BILLING" />

Upvotes: 1

Related Questions