連絡先番号のメインアクティビティから結果を取得するために、他のアクティビティに電話をかけようとしています。onActivityresultが値をcontactNoに割り当てたら、SMSメッセージを送信します。
ただし、私の問題は、onActivityResultが完了する直前にgetContactselect()メソッドが呼び出された後のsmsmanagerコードです。このため、連絡先番号はnullとして割り当てられます。
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;
}
}
}