与 startActivityForResult 一起使用时,setResult 未返回预期结果

setResult not returning expected result, when using with startActivityForResult

调用activity代码:

Intent intent = new Intent(MainActivity.this, BuyActivity.class);
startActivityForResult(intent, BuyActivity.BUY_REQUEST_CODE);

正在调用 activity 结果处理程序:

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        Log.d("billing","Got response from buy activity. resultCode = " + requestCode);
        if(requestCode== BUY_REUEST_CODE){
            boolean buyStatus= data.getBooleanExtra(BuyActivity.BUY_STATUS, false);
            if(buyStatus){
                Log.d(Constants.APP_TAG,"purchase was successful");
                enablePaidFeaturesIfRequired();
            }
            removeAdsIfRequired();
        }
    }

呼叫 activity 代码:

Intent data = new Intent();
data.putExtra(BUY_STATUS, false);
Log.d(APP_TAG,"Setting buy activity result to " + RESULT_OK);
BuyActivity.this.setResult(RESULT_OK, data);
finish();

在处理程序中没有得到 RESULT_OK,即使我在日志中看到以下内容

 "Setting buy activity result to -1 ";

我得到的结果是 1,即 RESULT_FIRST_USER,

尝试将 if(requestCode== RESULT_OK){ 更改为 if(resultCode == RESULT_OK){

日志中有错字resultCode = " + requestCoderesultCoderequestCode 不同。