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

时间:2018-12-15 02:45:57

标签: android startactivityforresult

呼叫活动代码:

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

呼叫活动结果处理程序:

@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();
        }
    }

被叫活动代码:

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,

1 个答案:

答案 0 :(得分:1)

尝试将@app.route('/Api', methods=['POST']) def index(): # BBC news api main_url = " https://newsapi.org/v1/articles?source=bbc-news&sortBy=top&apiKey=123" # fetching data in json format open_bbc_page = requests.get(main_url).json() # getting all articles in a string article article = open_bbc_page["articles"] # empty list which will # contain all trending news results = [] for ar in article: results.append(ar["title"]) for i in range(len(results)): # printing all trending news print(i + 1, results[i]) return render_template('home_page.html') if __name__ == '__main__': app.run(debug=True) 更改为if(requestCode== RESULT_OK){

在日志中,有一个错字if(resultCode == RESULT_OK){resultCode = " + requestCoderesultCode不同。