小编use*_*523的帖子

Android应用内结算,如何处理应用重新安装

我对应用内结算的工作方式非常困惑.我已经阅读了文档,但我一定错过了一些东西,因为我不理解我需要在我的应用程序中实现的最后一步才能使其工作.应用内结算效果很好,但是,如果用户卸载我的应用并在将来再次安装它,我的应用程序就不知道如何确定以前是否进行了应用内购买.这是我的主类中的一个片段,我尝试处理所有这些:

@Override
public void onCreate(Bundle savedInstanceState)
{
    mContext = this;
    startService(new Intent(mContext, BillingService.class));
    BillingHelper.setCompletedHandler(mTransactionHandler);
}
Run Code Online (Sandbox Code Playgroud)

我正在使用dungeons示例项目中的示例类.我不明白的是下面的代码在购买时如何工作,但重新运行它不能检查是否已经购买了某些东西.我已经被困在这个部分已经有一个月了,而且我对此感到非常沮丧.

public Handler mTransactionHandler = new Handler()
{
    public void handleMessage(android.os.Message msg)
    {
        Log.i(TAG, "Transaction complete");
        Log.i(TAG, "Transaction status: "
            + BillingHelper.latestPurchase.purchaseState);
        Log.i(TAG, "Item purchased is: "
            + BillingHelper.latestPurchase.productId);

        if (BillingHelper.latestPurchase.isPurchased())
        {
            new Message("Thank you!", getApplicationContext());
            PAY_VERSION = true;
            SharedPreferences purchasePreferences = getSharedPreferences(PURCHASE_PREFERENCES, Activity.MODE_PRIVATE);
            Editor purchaseEditor = purchasePreferences.edit();
            purchaseEditor.putBoolean("purchased", PAY_VERSION);
            purchaseEditor.commit();
            Intent intent = getIntent();
            finish();
            startActivity(intent);
        }
    };
Run Code Online (Sandbox Code Playgroud)

我需要的是一些查询服务器以查看是否已购买此项目的方法.我知道那里有一PURCHASE_STATE_CHANGED件事,但是当它确定状态已经改变或者如何启动它来检查时我不知道该怎么做.我迷失了,所有我需要的是一个很好的推动正确的方向,因为到目前为止,我只是完全失去了.

编辑:

我也听说你需要解析JSON,但我不知道如何开始这样做.

编辑2: …

android android-billing

5
推荐指数
1
解决办法
1577
查看次数

标签 统计

android ×1

android-billing ×1