通过Android应用程序发送消息

时间:2014-01-03 09:56:57

标签: android

我从某个网站获得此代码。但是,它对我不起作用。我没有错误,但没有发送消息。我已添加适当的权限以及所需的包和有效数字。

public void sendSMS() {
        String phoneNumber = "0123456789";
        String message = "Hello World!";       
        SmsManager smsManager = SmsManager.getDefault();
        smsManager.sendTextMessage(phoneNumber, null, message, null, null);
 }

我应该用其他东西替换那些 null 参数,以使其有效吗?

这是我得到它的地方:http://www.codeproject.com/Articles/463338/Sending-a-SMS-Message-from-an-Android-Application

4 个答案:

答案 0 :(得分:1)

import android.telephony.SmsManager;

然后在您的活动中

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" />

答案 1 :(得分:1)

我已经解决了你的问题,我也在我的设备中测试过它,并且还使用了两个模拟器。

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

<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();
}

答案 2 :(得分:0)

启动短信:

Intent intentsms = new Intent(Intent.ACTION_VIEW, Uri.parse("sms:"
                                + ""));
                        intentsms
                                .putExtra(
                                        "sms_body",
                                        "SMS text ololo");
                        this.startActivity(intentsms);

答案 3 :(得分:0)

调用以下方法

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" />
相关问题