【发布时间】:2018-12-30 16:19:25
【问题描述】:
我正在为我的 kotlin 编写的 android 应用程序使用 android-inapp-billing-v3。现在可以进行购买了,付款完成后进入成功页面。 但是,当同一用户第二次购买时,应用程序直接进入成功页面,无需任何支付和购买过程。 我想让应用程序在每次用户点击支付按钮时都要求付款。请帮忙解决这个问题。
class ProductActivity : AppCompatActivity(), BillingProcessor.IBillingHandler {
var ProductID = ""
var ProductName = ""
var ProductDes = ""
var ProductImage = 0
var ProductPrice = ""
val googleKey = "fdsfdsfsddfdsfsfdfs"
lateinit private var bp: BillingProcessor
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_product)
val bundle: Bundle = intent.extras
ProductID = bundle.getString("ProductID")
ProductName = bundle.getString("ProductName")
ProductDes = bundle.getString("ProductDes")
ProductImage = bundle.getInt("ProductImage")
ProductPrice = bundle.getString("ProductPrice")
bp = BillingProcessor(this, googleKey, this)
bp.consumePurchase(ProductID)
btn_pay.setOnClickListener {
bp.purchase(this, ProductID)
}
}
override fun onResume() {
super.onResume()
val internetStatus:Boolean = ConnectivityUtils.isConnected(this)
if (internetStatus==true) {
}
else {
val msg = getString(R.string.need_internet_for_service)
finish()
}
}
override fun onBillingInitialized() {
}
override fun onPurchaseHistoryRestored() {
}
override fun onProductPurchased(productId: String, details: TransactionDetails?) {
val intent = Intent(this, SearchQponActivity::class.java)
intent.putExtra("ProductID", ProductID)
startActivity(intent)
}
override fun onBillingError(errorCode: Int, error: Throwable?) {
}
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
if (!bp.handleActivityResult(requestCode, resultCode, data))
super.onActivityResult(requestCode, resultCode, data)
}
override fun onDestroy() {
if (bp!=null)
bp.release()
super.onDestroy()
}
}
【问题讨论】:
-
在您的
onProductPurchased()购买后立即使用该产品
标签: android kotlin in-app-purchase product billing