如何将状态结果存储在应用程序中并在重新启动应用程序时获取它

时间:2013-10-25 18:09:07

标签: android paypal

如何在应用程序启动时恢复付款状态。应用程序订阅时集成了paypal,一旦应用程序启动,它会显示付款的警报框,付款已完成的应用程序进入同一屏幕而不用alertbox.if我从应用程序退出并再次启动(重启)然后我想得到支付stutus,bcz我想根据状态显示应用程序屏幕如何做到这一点。添加onActivity结果

   @Override
    protected void onActivityResult (int requestCode, int resultCode, Intent data) {
        if (resultCode == Activity.RESULT_OK) {
            PaymentConfirmation confirm = data.getParcelableExtra(PaymentActivity.EXTRA_RESULT_CONFIRMATION);
            if (confirm != null) {
                try {

                    status_result=true;
                    Log.i("paymentExample", confirm.toJSONObject().toString(4));

                    // TODO: send 'confirm' to your server for verification.
                    // see https://developer.paypal.com/webapps/developer/docs/integration/mobile/verify-mobile-payment/
                    // for more details.

                } catch (JSONException e) {
                    Log.e("paymentExample", "an extremely unlikely failure occurred: ", e);
                }
            }
        }
        else if (resultCode == Activity.RESULT_CANCELED) {
            Log.i("paymentExample", "The user canceled.");
        }
        else if (resultCode == PaymentActivity.RESULT_PAYMENT_INVALID) {
            Log.i("paymentExample", "An invalid payment was submitted. Please see the docs.");
        }
    }

2 个答案:

答案 0 :(得分:2)

使用此选项获取默认首选项:

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);

使用此选项保存值:

Editor edit = preferences.edit();
edit.putString("isPayed", "yes");
edit.apply(); 

这将检索值:preferences.getString("isPayed", "No");

答案 1 :(得分:0)

您可以尝试使用SharedPreferences。每当付款活动完成时,将标记设置为1。

例如

int flag = entry.getInt("flag",0);
if(flag==0)
{
// Payment alert
// Payment finished
// editor.putInt("flag", ++flag);
// editor.commit();
}
else 
{
//Don't display the dialog
}

以这种方式,当用户完成付款时,将标志设置为1。