gpt4 book ai didi

java - 如何从 startActivityForResult 读取结果

转载 作者:行者123 更新时间:2023-11-29 18:59:12 25 4
gpt4 key购买 nike

团队

我的问题是,如何从 startAtcivityForResult 读取结果。按下按钮时,它会调用 bStock(),后者会调用 URL 并检索数据。我已经验证了 URL 调用是正确的并且我确实获得了数据。我使用 finishActivity(1) 不显示实际内容或结果。为了这条消息,这里是我在不使用 finishActivity(1)

时得到的结果

enter image description here

我的目标是读取结果并仅显示某些值,如名称和最后价格。这是我的代码

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//setContentView(R.layout.content_layout_id);

final Button buttonStock = findViewById(R.id.buttonS);
buttonStock.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
bStock();
}
});
}

static final int REQUEST_CODE = 1;

protected void bStock() {
String url = "http://dev.markitondemand.com/Api/v2/Quote/jsonp?symbol=AG";
Uri uri = Uri.parse(url);
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
i.setPackage("com.android.chrome");
startActivityForResult(i, REQUEST_CODE);
finishActivity(1);

}

@Override
protected void onActivityResult ( int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_CODE) {
// Make sure the request was successful
//if (resultCode == RESULT_OK) { // 0 -1
// Get the URI that points to the selected contact
Uri o = data.getData();
Toast.makeText(MainActivity.this, "Name ", Toast.LENGTH_LONG).show();});
}
}

我正在使用 Toast(目前)只是为了显示名称,但我不知道如何读取数据。任何帮助,将不胜感激。

杰西

最佳答案

这不会像您预期的那样工作,因为您尝试启动的 Activity (chrome 浏览器)未准备好将您想要的结果返回给您。 Intent (VIEW) 告诉浏览器执行此操作——查看给定的 URL。

对于不属于您自己的 Activity ,您必须仔细检查它们的描述,看看它们是否支持任何结果调用,以及它们如何返回结果——例如有一个“拍照” Intent ,它将通过一些 uri 数据将拍摄的照片返回给您。

大多数时候,startActivityForResult 用于启动您自己的 Activity ,您希望将数据返回给调用 Activity 。在这种情况下,您可以自行定义如何将结果传递回调用 Activity 。

关于java - 如何从 startActivityForResult 读取结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49392781/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com