【发布时间】:2019-02-10 10:10:29
【问题描述】:
我还是 Android 应用内结算的新手。 我已经尝试过与本教程完全相同的方法,但从未弹出。 这是链接
这是我的代码
MainActivity
public class MainActivity extends AppCompatActivity implements BillingProcessor.IBillingHandler {
BillingProcessor bp;
Button purchase;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
bp = new BillingProcessor(this, null, this);
purchase = (Button) findViewById(R.id.purchase);
purchase.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
bp.purchase(MainActivity.this, "android.test.purchased");
}
});
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
bp.purchase(MainActivity.this, "android.test.purchased");
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
@Override
public void onProductPurchased(@NonNull String productId, @Nullable TransactionDetails details) {
showToast("You Have Purchased The Product");
}
@Override
public void onPurchaseHistoryRestored() {
}
@Override
public void onBillingError(int errorCode, @Nullable Throwable error) {
showToast("An Error Has Occurred");
}
@Override
public void onBillingInitialized() {
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
if(!bp.handleActivityResult(requestCode, resultCode, data)){
super.onActivityResult(requestCode, resultCode, data);
}
}
@Override
public void onDestroy(){
if(bp != null){
bp.release();
}
super.onDestroy();
}
private void showToast(String message) {
Toast.makeText(this, message, Toast.LENGTH_LONG).show();
}
}
我在 build.gradle APP
中添加了这个compile 'com.anjlab.android.iab.v3:library:1.0.+'
在AndroidManifest中,我也添加了计费权限
<uses-permission android:name="com.android.vending.BILLING" />
即使我尝试与教程完全相同,我也真的被困住了。请帮忙看看是哪里出了问题。
【问题讨论】:
-
所以...您的问题/错误是什么?如果您有错误,请向我们显示日志。如果你在理解某事上有问题,请说出来。