上周,我做了一系列的应用内购买测试,一切都很顺利。但是,我在结帐时取消了我的命令,因此,谷歌播放不断向我发送取消通知。
显然 googleplay 不理解我的确认并连续循环通知我。
在 onPurchaseStateChanged 中,在 JSON 解析之后:
ArrayList<String> confirmations = new ArrayList<String>();
for (Trans p : transactions)
{
[...]
if (p.purchaseState.ordinal() == PurchaseState.CANCELLED.ordinal())
confirmations.add(p.notificationId);
}
if (!confirmations.isEmpty())
{
final String[] notifyIds = confirmations.toArray(new String[confirmations.size()]);
confirmNotifications(context, notifyIds);
}
.
public static void confirmNotifications(Context context, String[] notifyIds)
{
final Intent intent = createIntent(context, Action.CONFIRM_NOTIFICATIONS);
intent.putExtra(EXTRA_NOTIFY_IDS, notifyIds);
context.startService(intent);
}
我究竟做错了什么?