通过Android应用程序发送消息

通过Android应用程序发送消息,android,Android,我从某个网站上得到了这个代码。然而,这对我不起作用。我没有收到任何错误,但消息未发送。我已经添加了相应的权限以及所需的软件包和有效的数字 public void sendSMS() { String phoneNumber = "0123456789"; String message = "Hello World!"; SmsManager smsManager = SmsManager.getDefault(); s

我从某个网站上得到了这个代码。然而,这对我不起作用。我没有收到任何错误,但消息未发送。我已经添加了相应的权限以及所需的软件包和有效的数字

public void sendSMS() {
        String phoneNumber = "0123456789";
        String message = "Hello World!";       
        SmsManager smsManager = SmsManager.getDefault();
        smsManager.sendTextMessage(phoneNumber, null, message, null, null);
 }
我是否应该用其他东西替换那些null参数以使其工作

这就是我得到它的地方:

然后在你的活动中

String phoneNumber = "0123456789";
String message = "Hello World!";
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(phoneNumber, null, message, null, null);
在清单文件中添加权限

<uses-permission android:name="android.permission.SEND_SMS" />

要启动SMS:

Intent intentsms = new Intent(Intent.ACTION_VIEW, Uri.parse("sms:"
                                + ""));
                        intentsms
                                .putExtra(
                                        "sms_body",
                                        "SMS text ololo");
                        this.startActivity(intentsms);
调用下面的方法

private void sendMessage(String phoneNumber) {

        try {
            if (phoneNumber != null) {

                Intent smsIntent = new Intent(Intent.ACTION_VIEW);
                smsIntent.setType("vnd.android-dir/mms-sms");
                smsIntent.putExtra("address", phoneNumber);
                startActivity(smsIntent);
            } else {

                // Display mobile error
            }

        } catch (Exception e) {

            // Display error sending message

        }
    }
权限

<uses-permission android:name="android.permission.SEND_SMS" />

我已经解决了您的问题,我也在我的设备上进行了测试,还使用了两个模拟器

首先,您需要在AndroidManifest.xml文件中授予权限。这些是:

<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.SEND_SMS"/>

你在AndroidManifest.xml文件中添加权限了吗?你怎么知道它不起作用?像这样的0123456789没有任何电话号码。如果你用两个仿真器进行尝试,那么给第二个仿真器电话号码而不是0123456789ohk,我会试试n是的,我们可以从仿真器向手机发送消息吗,我知道这是毫无意义的,但为了澄清问题,请使用两个模拟器进行尝试。然后安装你的应用程序并尝试向其他手机发送消息。试想一下,Emulator没有任何网络服务提供商,那么我们如何从Emulator发送到手机呢。如果这是你想要的,请举手接受答案。快乐编码:)正如@kathir所说……它只是一个模拟器,没有网络,也没有任何东西……它只是用来测试应用程序:)Nya你能告诉我,一旦我有了下一个活动,如何回到上一个活动吗如果用户点击后退按钮,bcoz现在我进入下一个活动,它就存在了应用程序我猜它的bczo我使用finish()方法在我开始意图之后
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.SEND_SMS"/>
public void sendSMS()
{
    String phoneNumber = "0123456789";
        String message = "Hello World!";

    SmsManager smsManager = SmsManager.getDefault();
    smsManager.sendTextMessage(phoneNumber, null, message, null, null);     

    Toast.makeText(getApplicationContext(), "SMS Send"+message, Toast.LENGTH_SHORT).show();
}