1 回答

TA貢獻(xiàn)2080條經(jīng)驗(yàn) 獲得超4個(gè)贊
如果您仔細(xì)查看您的調(diào)用堆棧,您會(huì)發(fā)現(xiàn)它不包含launchPurchaseFlow()
. try
塊只能從正確位于其中的代碼中捕獲異常,并且由于您的異常沒(méi)有發(fā)生在對(duì) . 的任何調(diào)用中launchPurchaseFlow()
,因此它不會(huì)發(fā)生在您的try
.
launchPurchaseFlow()
導(dǎo)致計(jì)費(fèi)狀態(tài)機(jī)開(kāi)始推進(jìn),但并非每個(gè)購(gòu)買(mǎi)操作都發(fā)生在該函數(shù)內(nèi)。換句話說(shuō),購(gòu)買(mǎi)是“異步”完成的。
從堆棧跟蹤中可以看出,異常實(shí)際上發(fā)生在 期間onServiceConnected()
,它是從Handler
回調(diào)中調(diào)用的。launchPurchaseFlow()
此時(shí)實(shí)際上已經(jīng)返回;該try
塊是過(guò)去的。為了用 包圍這個(gè)特定的操作try
,您實(shí)際上需要編輯一個(gè)IabHelper
方法,例如onServiceConnected()
. 不建議這樣做,因?yàn)槟约旱拇a中的一些其他錯(cuò)誤似乎導(dǎo)致了異常。這是應(yīng)該修復(fù)的。
順便說(shuō)一句,我找不到flagStartAsync()
拋出的 v3 計(jì)費(fèi)庫(kù)版本IllegalStateException
,所以我不確定這是怎么回事。
必須提及:IabHelper
顯然不再受 Google 支持;您應(yīng)該改用計(jì)費(fèi)客戶(hù)端庫(kù)。您發(fā)布的鏈接不再引用您正在使用的庫(kù)。
添加回答
舉報(bào)