成功发送短信后如何关闭短信活动

时间:2019-01-07 08:48:58

标签: android

我正在使用“ SMS Intent”发送SMS,成功完成SMS后无法退出SMS屏幕。这是源代码。

//Sending SMS to multiple phone numbers
public void sendSms(Context context, String text, String numbers) {
    Uri uri = Uri.parse("sms:" + numbers)
    Intent intent = new Intent();
    intent.setData(uri);
    intent.putExtra(Intent.EXTRA_TEXT, text);
    intent.putExtra("sms_body", text);
    intent.putExtra("address", numbers);
    intent.putExtra("exit_on_sent", true);

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
        intent.setAction(Intent.ACTION_SENDTO);
        String defaultSmsPackageName = Telephony.Sms.getDefaultSmsPackage(context);
        if (defaultSmsPackageName != null) {
            intent.setPackage(defaultSmsPackageName);
        }
    } else {
        intent.setAction(Intent.ACTION_VIEW);
        intent.setType("vnd.android-dir/mms-sms");
    }

    try {
        context.startActivity(intent);
    } catch (ActivityNotFoundException e) {
        e.printStackTrace();
    }
}

如何关闭SMS活动/屏幕? 谁能帮我解决这个问题?

1 个答案:

答案 0 :(得分:1)

  

成功发送短信后如何关闭短信活动

尝试一下:

private int INVITE_COMPLETED = 1;

String message = "Hello";
Intent sendIntent = new Intent(Intent.ACTION_SENDTO);
sendIntent.setData(Uri.parse("sms:" + "Mobile Number"));
sendIntent.putExtra("sms_body", message);
sendIntent.putExtra("exit_on_sent", true);
startActivityForResult(sendIntent, INVITE_COMPLETED);

以上代码完全为我工作。发送短信后,它会返回我的活动。

您还可以看一下: i found solution here

我已经尝试过使用您的代码。在这里工作正常。

在您的代码下方:

public void sendSms(Context context, String text, String numbers) {
    Uri uri = Uri.parse("sms:" + numbers);
    Intent intent = new Intent();
    intent.setData(uri);
    intent.putExtra(Intent.EXTRA_TEXT, text);
    intent.putExtra("sms_body", text);
    intent.putExtra("address", numbers);
    intent.putExtra("exit_on_sent", true);

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
        intent.setAction(Intent.ACTION_SENDTO);
        String defaultSmsPackageName = Telephony.Sms.getDefaultSmsPackage(context);
        if (defaultSmsPackageName != null) {
            intent.setPackage(defaultSmsPackageName);
        }
    } else {
        intent.setAction(Intent.ACTION_VIEW);
        intent.setType("vnd.android-dir/mms-sms");
    }

    try {
        startActivityForResult(intent, INVITE_COMPLETED);
    } catch (ActivityNotFoundException e) {
        e.printStackTrace();
    }
}

对于我使用的代码下面的多个数字,它工作正常:

 sendSms(MainActivity.this, "Hello", "Num1;Num2");