我是Android编程的新手,尤其是PayPal。我得到了一个负责排除故障的应用程序 - 尽管是Android的新手,但是在这一行崩溃了:
initWithAppID(this.getBaseContext(), appID, PayPal.ENV_SANDBOX);
首先,PayPal.ENV_SANDBOX
总是返回一个0,我不确定它是否应该这样做。其次,为什么它总是崩溃?我在网上搜索了原因,人们说它是因为它没有完全初始化这就是为什么它失败了。现在我想知道如果我无法初始化这个库我需要做什么?
我正在使用Eclipse IDE,在Samsung Galaxy Tab Android 2.2上进行测试
答案 0 :(得分:1)
不知道这是否会有所帮助,但这是我在使用PayPal.ENV_NONE(来自https://github.com/phonegap/phonegap-plugins/blob/master/Android/PayPalPlugin/src/com/phonegap/plugin/mpl.java)测试时修复它的方法
PayPal pp = PayPal.getInstance();
if (pp == null) {
try {
pp = PayPal.initWithAppID(getApplicationContext(), "", PayPal.ENV_NONE);
} catch (IllegalStateException e) {
throw new RuntimeException(e);
}
pp.setShippingEnabled(false);
}
然后在创建按钮时:
PayPal pp = PayPal.getInstance();
CheckoutButton cb = pp.getCheckoutButton(
getBaseContext(),
PayPal.BUTTON_194x37,
CheckoutButton.TEXT_PAY);
cb.setOnClickListener(new OnClickListener() {
PayPalPayment payment = new PayPalPayment();
// set subtotal etc ...
Intent i = PayPal.getInstance().checkout(payment,getApplicationContext());
startActivityForResult(i, 1);
});
希望有所帮助
答案 1 :(得分:0)