我想为用户填充一个 SMS intent,然后启动该 intent,并在发送 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
参数添加到 intent。
然后当然我捕获了 onActivityResult
:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1)
{
//Do some post sending work
}
}
问题是,在调试之后,我注意到一旦 Intent 启动,onActivityResult
立即触发,而不是在 Intent 关闭之后。此外,即使设置了参数,SMS 应用程序在发送后也不会关闭。我什至将 android:launchMode="singleInstance"
添加到我的 Manifest.xml 中。我错过了什么?
最佳答案
您应该在请求的 Activity 中添加 setResult(Activity.RESULT_OK, data);
和 finish();
。返回请求者的最新 Activity 。
关于android - 短信发送后返回onActivityResult,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44315981/