gpt4 book ai didi

java - MainActivity 代码在 onActivityResult() 调用之前执行

转载 作者:行者123 更新时间:2023-12-01 08:14:38 25 4
gpt4 key购买 nike

我正在尝试调用其他 Activity 以获取联系号码主要 Activity 的结果。一旦onActivityresult将值赋给contactNo,发送短信。

但是我的问题是在 onActivityResult 完成之前立即调用 getContactselect() 方法之后的 smsmanager 代码。因为该联系号码被指定为空。

Main Activity code:

public void onItemClick(AdapterView<?> a, View v, int position, long id) {
Object o = lv1.getItemAtPosition(position);
ItemDetails obj_itemDetails = (ItemDetails)o;

...
...
**getContactselect();**
**smsManager.sendTextMessage(contactNo, null, obj_itemDetails.getMessage(), null, null);**
}
...

public void getContactselect() {
Intent ourIntent = new Intent(BreakOut.this,ContactsSelector.class);
startActivityForResult(ourIntent,CONTACT_SELECT);
}

protected void onActivityResult(int requestCode, int resultCode, Intent data){
switch(requestCode) {
case CONTACT_SELECT:
if (resultCode == RESULT_OK) {
contactNo = data.getStringExtra("ContactDetails");
Toast.makeText(this, "You have chosen the contact: " + " " + contactNo, Toast.LENGTH_LONG).show();
break;
}
}

}

最佳答案

Intent 是异步启动的。这就是为什么你有 onActivityResult() 方法。无论您想要在您调用的 Activity 返回后做什么,都必须在那里完成。

关于java - MainActivity 代码在 onActivityResult() 调用之前执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14466567/

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