2014-09-13 84 views
1

我試圖在應用程序購買中使用Android。我正在使用官方文檔和util(Base64等)。我正在使用管理項目。 我在哪裏以及如何處理已經購買的物品? (我將布爾值設置爲true並將其保存爲共享首選項,但是如果我刪除並安裝該應用程序,則共享首選項將丟失。)Android IAP:處理已購買的物品

現在,如果我單擊「購買按鈕」,則會收到「錯誤7 :項目已經擁有「。 買的物品就像我的應用程序的親版本。

問題: 我在哪裏以及如何處理已經購買的物品?

回答

1

嗨,你顯示在應用程序購買屏幕之前,你應該檢查你是否已經訂購了非消耗品之前。

好文章閱讀:

http://developer.android.com/training/in-app-billing/purchase-iab-products.html

如何調用方法:

mHelper = new IabHelper(this, base64EncodedPublicKey); 

mHelper.enableDebugLogging(true); 

mHelper.startSetup(new IabHelper.OnIabSetupFinishedListener() { 
public void onIabSetupFinished(IabResult result) { 

if (!result.isSuccess()) { 
return; 
} 

if (mHelper == null) return; 
List<String> st = new ArrayList<String>(); 
st.add(ITEM_SKU); 
mHelper.queryInventoryAsync(true,st,mGotInventoryListener); 
} 
}); 

如何查詢庫存的項目。

IabHelper.QueryInventoryFinishedListener mGotInventoryListener = new IabHelper.QueryInventoryFinishedListener() { 
public void onQueryInventoryFinished(IabResult result, Inventory inventory) { 

if (mHelper == null) return; 

if (result.isFailure()) { 
return; 
} 

if(inventory.hasPurchase(ITEM_SKU)) { 
Intent intent = null; 
intent = new Intent(getActivity(), Ce.class); 
startActivity(intent); 
} 
} 
}; 
相關問題