Я хочу включить покупки в приложении в приложении для Android с помощью API выставления счетов Google Play In-App 3. Приложение примера TrivialDrive, выпущенное Google содержит следующий раздел кода Java:Как правильно зарегистрировать BroadcastReceiver для покупок в приложении в файле манифеста в Android Studio
// Important: Dynamically register for broadcast messages about updated purchases.
// We register the receiver here instead of as a <receiver> in the Manifest
// because we always call getPurchases() at startup, so therefore we can ignore
// any broadcasts sent while the app isn't running.
// Note: registering this listener in an Activity is a bad idea, but is done here
// because this is a SAMPLE. Regardless, the receiver must be registered after
// IabHelper is setup, but before first call to getPurchases().
mBroadcastReceiver = new IabBroadcastReceiver(UpgradeActivity.this);
IntentFilter broadcastFilter = new IntentFilter(IabBroadcastReceiver.ACTION);
registerReceiver(mBroadcastReceiver, broadcastFilter);
Это все хорошо и хорошо. Тем не менее, я еще не нашел правильного примера того, как зарегистрировать слушателя в файле AndroidManifest.xml или как ссылаться на зарегистрированного слушателя в Java-коде. Я видел другие примеры зарегистрированных слушателей, которые не относятся к биллингам in-ap, но не один конкретно, предназначенный для выставления счетов в приложении. Как мне это сделать?
я полагаю, может быть, неправильно, что манифест часть будет выглядеть примерно так:
<!-- Include required permissions for Google Mobile Ads to run -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- VERY IMPORTANT! Don't forget this permission, or in-app billing won't work. -->
<uses-permission android:name="com.android.vending.BILLING" />
<application
android:allowBackup="true"
android:icon="@mipmap/logo"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/Platform.AppCompat">
<!-- This meta-data tag is required to use Google Play Services. -->
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<!-- Here is the relevant part. -->
<receiver android:name="package.path.to.IabBroadcastReceiver"
android:permission="android.permission.SOME_UNKNOWN_PERMISSION">
<intent-filter>
<action android:name="android.intent.action.SOME_UNKNOWN_ACTION"/>
</intent-filter>
</receiver>
<!-- Place activities here. -->
</application>
Я не знаю, что код Java для слушателя, который зарегистрирован в манифест будет выглядеть.
Заранее за вашу помощь.
Спасибо за быстрый ответ. Я пробую это сейчас. Мне пришлось искать исходный код для ParsePushBroadcastReceiver. Однако в этом пакете есть ссылка на класс Task, который я не могу найти, и он не будет компилироваться без него. Где я могу найти класс задач? Он ссылается на AbstractQueryController и CacheQueryController. – user3188777
Nevermind. Я нашел его в рамке болтов. – user3188777
До сих пор я импортировал элементы синтаксического анализа, болтов, okhttp и okio для того, чтобы заставить вышеуказанный код работать, но все еще существуют разломанные зависимости, и он не будет компилироваться. Разве нет лучшего способа сделать это, что не требует бесчисленного импорта? – user3188777