Я пытаюсь предложить подписку, но PendingIntent, который я получаю от getBuyIntent, всегда равен нулю. Хотя запрос покупок и деталей товара работает.
Я уже пробовал с разными учетными записями, подписанными, отлаживаемыми и неотлаживаемыми apks, но все равно.
Bundle bundle = mService.getBuyIntent(3, getActivity().getPackageName(), sku, "subs", developerPayload);
for (String key : bundle.keySet()) {
Log.d("SUBSCRIBE: " + key + " = \"" + bundle.get(key) + "\"");
}
PendingIntent pendingIntent = bundle.getParcelable("RESPONSE_BUY_INTENT");
if (bundle.getInt("RESPONSE_CODE") == BILLING_RESPONSE_RESULT_OK) {
if (pendingIntent != null) {
// Start purchase flow (this brings up the Google Play UI).
// Result will be delivered through onActivityResult().
getActivity().startIntentSenderForResult(pendingIntent.getIntentSender(), RC_BUY, new Intent(),
Integer.valueOf(0), Integer.valueOf(0), Integer.valueOf(0));
} else {
Log.e("Subscribe", "PendingIntent is null!");
}
}
И это вывод logcat
: ПОДПИСАТЬСЯ: RESPONSE_CODE = "0"
: ПОДПИСАТЬСЯ: BUY_INTENT = "PendingIntent{b1c5591: android.os.BinderProxy@c48ccf6}"
: Подписаться: PendingIntent равен нулю!
Это (http://developer.android.com/google/play/billing/billing_integrate.html#Subs) — это реализация, которой я следовал, с той небольшой разницей, что мой код помещается во фрагмент, а не в действие.