فیلم آموزش ارسال پیامک sms اندروید استودیو Android Studio
آموزش ارسال اس ام اس android studio sms
ارسال پیامک sms ، عرض سلام خدمت کاربران گرامی خانه اندروید قصد داریم در این آموزش از سری آموزش اندروید استودیو به مبحث ارسال پیامک sms بپردازیم و یاداوری می کنیم که اگر شما نمی خواهید سورس کد رو مطالعه کنید کافی است انتهای پست فیلم آموزشی این قسمت رو دانلود کنید.توی اموزش قبل اومدیم تماس تلفنی رو خدمتون آموزش دادیم که می توانید از لینک زیر مشاهده کنید.
پیشنهاد ویژه :فیلم آموزشی تماس تلفنی اندروید استودیو ACTION_DIAL
بی مقدمه میریم سراغ آموزش ارسال پیامک sms :
پروژه جدیدی را استارت کنید سپس دو تا EditText و یک دکمه روی اکتیویتی خودتون قرار بدید و برای هرکدام ایدی را مشخص کنید چون قراره در سورس کد جاوا ازشون استفاده کنیم.اما چرا دو تا EditText ؟ زیرا قراره شماره همراه و پیغام شخص رو دریافت کنیم و بفرستیم به صفحه Default ارسال پیامک sms و کاربر می تواند با ارسال دکمه send خودش این پیغام رو بفرسته.
سورس کد بخش 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 |
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="https://schemas.android.com/apk/res/android" xmlns:tools="https://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.app.homeandroidir.sendsms.MainActivity" android:orientation="vertical"> <EditText android:layout_width="match_parent" android:layout_height="50dp" android:id="@+id/Edittxt_smg_numer"/> <EditText android:layout_width="match_parent" android:layout_height="100dp" android:id="@+id/Edittxt_messag"/> <Button android:layout_width="match_parent" android:layout_height="50dp" android:id="@+id/Btn_sendsms" android:text="ارسال sms"/> </LinearLayout> |
دیزاین کلی برنامه ارسال پیامک sms :
و سورس کد بخش جاوا Mainactivity :
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 |
package com.app.homeandroidir.sendsms; import android.content.Intent; import android.net.Uri; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.text.TextUtils; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends AppCompatActivity { Button btnsms; EditText Edit_txt_number,Edit_txt_messg; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); cast(); btnsms.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { String number= Edit_txt_number.getText().toString(); String msg=Edit_txt_messg.getText().toString(); if (!TextUtils.isEmpty(number) &&!TextUtils.isEmpty(number) ) { Uri uri =Uri.parse("smsto:"+number); Intent i = new Intent(Intent.ACTION_SENDTO,uri); i.putExtra("sms_body",msg); startActivity(i); Toast.makeText(MainActivity.this, "لطفا کمی صبر کنید...", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(MainActivity.this, "لطفا شماره همراه و متن پیام را وارد کنید.", Toast.LENGTH_SHORT).show(); } } }); } void cast() { btnsms = (Button) findViewById(R.id.Btn_sendsms); Edit_txt_number = (EditText) findViewById(R.id.Edittxt_smg_numer); Edit_txt_messg = (EditText) findViewById(R.id.Edittxt_messag); } } |
توضیح سورس کد بخش جاوا :
تعریف دو متغییر از نوع رشته برای دریافت شماره همراه و پیغام شخص مورد نظر :
1 2 |
String number= Edit_txt_number.getText().toString(); String msg=Edit_txt_messg.getText().toString(); |
چک می کنیم کاربر حتما و حتما شماره همراه و پیغام خودش رو وارد کند و اگر وارد نکرده بود در بخش else یا به معنی در غیر این صورت پیغام مورد نظر رو می دهیم :
1 |
if (!TextUtils.isEmpty(number) &&!TextUtils.isEmpty(number) ) |
دستور ارسال sms در اندروید استودیو که قبلا اومدیم تماس تلفنی رو آموزش دادیم و این بخش کمی برای دوستان ممکن است تکرار باشد :
1 2 3 4 5 |
Uri uri =Uri.parse("smsto:"+number); Intent i = new Intent(Intent.ACTION_SENDTO,uri); i.putExtra("sms_body",msg); startActivity(i); Toast.makeText(MainActivity.this, "لطفا کمی صبر کنید...", Toast.LENGTH_SHORT).show(); |
گرفتن شماره همراه کاربر و حتما باید smsto را قرار دهید :
1 |
Uri uri =Uri.parse("smsto:"+number); |
برای رفتن به اکتیویتی دیگر نیاز هست که از Intent استفاده کنیم ولی چرا به اکتیویتی دیگر می رویم به خاطر ارسال ام اس اس هست پس باید در بخش ACTION_SENDTO بنویسیم.
1 |
Intent i = new Intent(Intent.ACTION_SENDTO,uri); |
برای ارسال پیغام شخص حتما باید دستور putExtera را قرار دهیم :
1 |
i.putExtra("sms_body",msg); |
و در آخر استارت اکتیویتی و پاس دادن شی Intent به استارت اکتیویتی و در نهایت پیغام لطفا کمی صبر کنید:
1 2 |
startActivity(i); Toast.makeText(MainActivity.this, "لطفا کمی صبر کنید...", Toast.LENGTH_SHORT).show(); |
و اما اگر کاربر تکست باکست ها رو رها کرده بود و روی دکمه ارسال کلیک کرده بود با پیغام لطفا شماره همراه و پیغام را وارد کنید مواجعه می شود:
1 2 3 4 |
else { Toast.makeText(MainActivity.this, "لطفا شماره همراه و متن پیام را وارد کنید.", Toast.LENGTH_SHORT).show(); } |
سورس کد ارسال ام اس در قالب تصویر :
فایل اجرایی برنامه :
امیدوارم این آموزش مورد پسند شما عزیزان قرار بگیره موفق و پیروز باشید.
لطفا فیلم آموزشی رو هم ببنید برای توضیحات بیشتر :
دانلود فیلم آموزش ارسال پیامک sms اندروید استودیو Android Studio
حجم فیلم : ۱۶ مگابایت
پسورد فایل فشرده : homeandroid.ir
منبع آموزش : خانه اندروید
سلام
من از دستور مستقیم برای ارسال پیامک استفاده کردم و لی مشکل اینجاست که هر شماره ای جز شماره خودم رو در شماره مقصد وارد میکنم ارسال نمیکنه هیچ پیامی هم نمیده و البته اینم باید اضافهکنم وقتی که شماره خودم رو هم میدم توی گوشی دیگه ای که شماره دیگه ای روش هست نصب میکنم بازم ارسال نمیشه به نظرتون چیکار باید کنم؟
سلام و احترام دوست عزیز
حتما شما نسخه رایگان رو تهیه کردین که فقط به شماره موبایل خودتون ارسال می کنه باید تعرفه های دیگه رو تهیه کنید از طریق پنل پیامکی که تهیه کردین.
با احترام.
سلام
من برنامه ای نوشتم که برای فعالسازی از پیامک استفاده میکنه و میخواستم پیام درخواستی که از طریق گوشی کاربر برای من ارسال میشه در لیست پیامهای گوشی کاربر نمایش داده نشه(مثل همراه بانک ها که وقتی با پیامک کار میکنند چیزی در لیست پیامها معلوم نیست)
از دستور
getApplicationContext().getContentResolver().delete(
Uri.parse(“content://sms/”+id), null, null);
برای پاک کردن پیامک استفاده کردم اما کار نکرد اگر امکانش هست راهنماییم کنید ممنون میشم
سلام و احترام
سوالات مرتبط با پست مورد نظر رو مطرح کنید. قبل از ارسال دیدگاه قوانین ارسال دیدگاه را مطالعه کنید.
با احترام.
سلام
ببخشید چطوری میشه به صورت مستقیم پیام رو ارسال کنیم؟؟؟
ممنونم خیلی زیاد.
سلام دوست عزیز مهدی حیدری
برای ارسال مستقیم نیاز به مجور کاربر دارید که باید توی منفیست پروژه پرومیژن زیر رو اضافه کنید.
android.permission.SEND_SMS
و در اخر برای ارسال مستقیم نیاز به دستورات تراکنشی و یا مدیریتی دارید.
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(phoneNo, null, message, null, null);
موفق باشین.