如何完成之前活动中的PayPal活动

时间:2015-10-26 06:54:17

标签: android android-intent android-activity paypal

我知道关于这个主题有很多类似的问题,但是我无法找到他们的解决方案,所以如果它听起来可能重复,那就很抱歉。
在我的应用程序中,我正在使用PayPal SDK v2.6。我有这个订单审核活动,在那里我向用户显示他订单的所有详细信息,我有一个付费按钮,用于打开PayPal付款活动。
我想阻止用户在PayPal活动中持有太长时间,因此,从用户点击打开PayPal活动的按钮开始,我启动了一个10分钟的计时器。
我正在尝试的是在计时器结束时从订单活动的代码文件中完成PayPal活动,因为整个PayPal过程代码都写在我的订单活动中。
我使用PayPal开始活动结果和结果机制,我对PayPal中发生的事情没有任何控制,我只是处理结果。 以下是我启动PayPal服务的代码段:

paypalServiceIntent = new Intent(this, PayPalService.class);
paypalServiceIntent.putExtra(PayPalService.EXTRA_PAYPAL_CONFIGURATION, config);
startService(paypalServiceIntent);

然后我开始这样的paypal活动:

startTimer(); // my timer mechanism
PayPalPayment payment = new PayPalPayment(new BigDecimal("" + finalPrice), "HKD", subProduct.getString("SubProductName").trim(),
                                        PayPalPayment.PAYMENT_INTENT_SALE);
Intent intent = new Intent(ReviewOrderActivity.this, PaymentActivity.class);
intent.putExtra(PaymentActivity.EXTRA_PAYMENT, payment);
startActivityForResult(intent, 0);

然后我在订单类文件中有我的计时器代码(我添加了我试图关闭paypal活动的所有操作):

Timer timer = new Timer();
timer.schedule(new TimerTask() {
    @Override
    public void run() {
       stopService(paypalServiceIntent); // not closing paypal activity
       finish(); // not closing paypal
       onBackPressed(); // not closing paypal
       onDestroy(); // not closing paypal
       finishActivity(0); // not closing paypal
     }
}, 10*60*1000);

非常感谢任何形式的帮助。

0 个答案:

没有答案