我希望为用户填充SMS意图,然后启动意图并在发送SMS后返回我的应用程序继续执行代码。所以到目前为止我用它来设置Intent:
Uri uri = Uri.parse("smsto:" + cellNumberEditText.getText().toString());
Intent smsIntent = new Intent(Intent.ACTION_SENDTO, uri);
smsIntent.putExtra("sms_body", smsMessageEditText.getText().toString());
smsIntent.putExtra("exit_on_sent", true);
startActivityForResult(smsIntent,1);
注意我将额外的exit_on_sent
参数添加到意图中。
然后当然我抓住了onActivityResult
:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1)
{
//Do some post sending work
}
}
问题是,在调试之后,我注意到一旦意图启动,onActivityResult
立即触发,而不是在意图关闭之后触发。此外,即使设置了参数,SMS应用程序也不会在发送后关闭。我甚至在我的Manifest.xml中添加了android:launchMode="singleInstance"
。我错过了什么?
答案 0 :(得分:-1)
您应在所请求的活动中添加setResult(Activity.RESULT_OK, data);
和finish();
。最新返回请求者活动。