ارسال SMS در اندروید

پنجشنبه 23 مرداد 1393

بیشتر ما در این روزگار دارای یک گوشی هستیم و میتوانیم پیامک ارسال نمایید.حال اگر بخوایم اپلیکیشنی بنویسیم که از آن طریق SMS بفرستیم باید چیکار کنیم. برای اینکار در اندروید SmsManager برای اینکار قرار داده شده است. در این آموزش قصد داریم یک SMS را بصورت متنی ساده به شماره مورد نظر ارسال نماییم


روال کار بدین صورت است دو EditeText داریم ، یکی برای شماره و یکی هم برای متن
فایل main.xml

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/linearLayout1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
 
  
        <TextView
            android:id="@+id/textViewPhoneNo"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="5dip"
            android:text="Enter Phone Number : "
            android:textAppearance="?android:attr/textAppearanceLarge" />
 
  
 
    <EditText
        android:id="@+id/editTextPhoneNo"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_margin="5dip"
        android:phoneNumber="true" >
    </EditText>
 
    <TextView
        android:id="@+id/textViewSMS"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="5dip"
        android:text="Enter SMS Message : "
        android:textAppearance="?android:attr/textAppearanceLarge" />
 
    <EditText
        android:id="@+id/editTextSMS"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_margin="5dip"
        android:gravity="top"
        android:inputType="textMultiLine"
        android:lines="5" />
 
    <Button
        android:id="@+id/buttonSend"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_margin="5dip"
        android:text="Send" />
 
</LinearLayout>




چیز خاص دیگه ای در xml نیستش که احتیاج به توضیح باشه

خب.....

در اکتیویتی create.java :


 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
txt_number = (EditText) findViewById(R.id.editTextPhoneNo);
        txt_text = (EditText) findViewById(R.id.editTextSMS);
        btn_send = (Button) findViewById(R.id.buttonSend);
        btn_send.setOnClickListener(new View.OnClickListener() {
 
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
 
                String phoneNo = txt_number.getText().toString();
                String sms = txt_text.getText().toString();
                try {
                    SmsManager smsmanager = SmsManager.getDefault();
                    smsmanager.sendTextMessage(phoneNo, null, sms, null, null);
                    Toast.makeText(getApplicationContext(), "SMS Sent", 1)
                            .show();
                 
 
                } catch (Exception e) {
                    // TODO: handle exception
                    Toast.makeText(getApplicationContext(),
                            "SMS faild, please try again later!",
                            Toast.LENGTH_LONG).show();
                    e.printStackTrace();
                }
 
            }
        });





در این فایل فقط این دو خط :
 

1
2
3
4
    SmsManager smsmanager = SmsManager.getDefault();
                    smsmanager.sendTextMessage(phoneNo, null, sms, null, null
 
);

مربوط به ارسال پیامک میباشد تا متن را به شماره مقصد بفرستد

imanmir

نویسنده 2 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید