Как отправить смс из приложения для Android на мобильный? - PullRequest
0 голосов
/ 06 июня 2019

Я попробовал этот код, но я не получил SMS в своем телефоне.

    Intent intent=new Intent(getApplicationContext(),MainActivity.class);  
    PendingIntent pi=PendingIntent.getActivity(getApplicationContext(), 0, intent,0);  

    //Get the SmsManager instance and call the sendTextMessage method to send message                 
    SmsManager sms=SmsManager.getDefault();  
    sms.sendTextMessage("88xxxxxxx0", null, "hello javatpoint", pi,null);

Ответы [ 2 ]

1 голос
/ 06 июня 2019

Попробуйте этот код.

Пример кода.

 void sendSMS(String phoneNumber, String message)
        {      
            String SENT = "SMS_SENT";
            String DELIVERED = "SMS_DELIVERED";

            PendingIntent sentPI = PendingIntent.getBroadcast(this, 0,
                new Intent(SENT), 0);

            PendingIntent deliveredPI = PendingIntent.getBroadcast(this, 0,
                new Intent(DELIVERED), 0);

            //---when the SMS has been sent---
            registerReceiver(new BroadcastReceiver(){
                @Override
                public void onReceive(Context arg0, Intent arg1) {
                    switch (getResultCode())
                    {
                        case Activity.RESULT_OK:
                            Toast.makeText(getBaseContext(), "SMS sent", 
                                    Toast.LENGTH_SHORT).show();
                            break;
                        case SmsManager.RESULT_ERROR_GENERIC_FAILURE:
                            Toast.makeText(getBaseContext(), "Generic failure", 
                                    Toast.LENGTH_SHORT).show();
                            break;
                        case SmsManager.RESULT_ERROR_NO_SERVICE:
                            Toast.makeText(getBaseContext(), "No service", 
                                    Toast.LENGTH_SHORT).show();
                            break;
                        case SmsManager.RESULT_ERROR_NULL_PDU:
                            Toast.makeText(getBaseContext(), "Null PDU", 
                                    Toast.LENGTH_SHORT).show();
                            break;
                        case SmsManager.RESULT_ERROR_RADIO_OFF:
                            Toast.makeText(getBaseContext(), "Radio off", 
                                    Toast.LENGTH_SHORT).show();
                            break;
                    }
                }
            }, new IntentFilter(SENT));

            //---when the SMS has been delivered---
            registerReceiver(new BroadcastReceiver(){
                @Override
                public void onReceive(Context arg0, Intent arg1) {
                    switch (getResultCode())
                    {
                        case Activity.RESULT_OK:
                            Toast.makeText(getBaseContext(), "SMS delivered", 
                                    Toast.LENGTH_SHORT).show();
                            break;
                        case Activity.RESULT_CANCELED:
                            Toast.makeText(getBaseContext(), "SMS not delivered", 
                                    Toast.LENGTH_SHORT).show();
                            break;                        
                    }
                }
            }, new IntentFilter(DELIVERED));        

            SmsManager sms = SmsManager.getDefault();
            sms.sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI);        
        }

Также вам нужно дать разрешение SEND_SMS в AndroidManifest.xml для отправки сообщения

<uses-permission android:name="android.permission.SEND_SMS" />
0 голосов
/ 06 июня 2019

Вы можете отправить сообщение из вашей заявки через это:

public void sendSMS(String MoNo, String msg) {
    try {      
        SmsManager smsManager = SmsManager.getDefault();
        smsManager.sendTextMessage(MoNo, null, msg, null, null);    
        Toast.makeText(getApplicationContext(), "Message Sent",
              Toast.LENGTH_LONG).show();
    } catch (Exception ex) {
        Toast.makeText(getApplicationContext(),ex.getMessage().toString(),
              Toast.LENGTH_LONG).show();
        ex.printStackTrace();
    } 
}

Также вам нужно дать разрешение SEND_SMS в AndroidManifest.xml для отправки сообщения

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

Спасибо. Счастливого кодирования ...

...