2

我想为用户填充 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);

注意我将 Extraexit_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就会立即触发,而不是在意图关闭之后。此外,即使设置了参数,短信应用程序在发送后也不会关闭。我什至添加android:launchMode="singleInstance"到我的 Manifest.xml 中。我错过了什么?

4

1 回答 1

-1

您应该在请求的活动中添加setResult(Activity.RESULT_OK, data);和。finish();最新返回请求者活动。

于 2017-06-01T20:11:21.050 回答