آموزش برنامه نویسی اندروید (Android)
۴۱۹ آموزش
نمایش دسته بندی ها (۴۱۹ آموزش)

ارسال پیامک (SMS) به گوشی یک فرد، در برنامه نویسی اندروید

برای ارسال پیامک (SMS)، به گوشی یک فرد، باید کدهای زیر را بنویسیم :


SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage("09171111111", null, "SMS text", null, null);

که در آن، به جای شماره 09171111111 ، شماره موبایل فرد مورد نظرتان را بنویسید و همچنین به جای عبارت SMS text ، باید متن مربوط به پیامک (SMS) نوشته شود.

دقت شود که برای استفاده از کدهای بالا، حتما باید اجازه ارسال پیامک (SMS) توسط برنامه اندروید را در فایل AndroidManifest.xml ذکر کنیم. بنابراین باید کد زیر درون فایل AndroidManifest.xml از پروژه اندروید نوشته شود :


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

برای متوجه شدن محل قرارگیری کد بالا، به عنوان مثال، کدهای یک فایل AndroidManifest.xml را در زیر نوشته ایم :


<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.kelidestan.com_3"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="7"
        android:targetSdkVersion="18" />
   
    <uses-permission android:name="android.permission.SEND_SMS"/>

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.kelidestan.com_3.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>
نویسنده علیرضا گلمکانی
شماره کلید 2635
گزینه ها
به اشتراک گذاری (Share) در شبکه های اجتماعی
نظرات 15 15 0
bistoon7
۱۳۹۵/۱۱/۰۳
۲۳:۱۴

با سلام و تشکر به خاطر سایت خیلی خوبتون
من یه اپ اندروید برای اس ام اس ساختم که وقتی به عنوان اپ پیشفرض دستگاه انتخاب میشه ، دیگه اپ اس ام اس خود اندروید هیچ پیامی دریافت نمیکنه . ولی من میخوام بعضی از پیام ها علاوه بر اپ خودم برای اپ داخلی اندروید هم فرستاده بشه. ممنون میشم راهنمایی کنید

مصطفی
۱۳۹۵/۱۱/۲۸
۲۳:۱۷

باید به قسمت مدیریت برنامه های گوشی (Application manager) و از اونجا برنامتون رو انتخاب کنید. بعد صفحه رو بکشید پایین، اونجا از برنامه پیشفرض بودن (default set) درش بیارید

Akam
۱۳۹۵/۱۲/۰۶
۱۳:۰۸

سلام ببخشید کد های قسمت اول رو کجا قرار بدیم ؟
main activity?

admin
۱۳۹۵/۱۲/۰۷
۱۵:۱۵

سلام.
کدهای زیر :

کد پی‌اچ‌پی:
SmsManager smsManager SmsManager.getDefault();
smsManager.sendTextMessage("09171111111"null"SMS text"nullnull); 

را باید در Activity مورد نظرتان که می خواهید با اجرای آن، sms ارسال شود، بنویسید (Activity ممکن است هر نامی داشته باشد).
یا در صورت تمایل، می توانید کدها را برای اشاره بر روی یک دکمه (Button) بنویسید (کلید شماره 2728) (یک Button در لایه گرافیکی آن Activity تعریف می کنید و تعیین می کنید که با اشاره بر روی Button ، کدهای بالا اجرا شوند).

Flower

MGH
۱۳۹۶/۰۴/۰۲
۱۱:۴۵

سلام خسته نباشید - یعنی منظورتون اینه که فرستادن پیام در اندروید رایگان هست ؟!!!!!!!!! برایه من که برنامم Force Stop میشه

admin
۱۳۹۶/۰۴/۰۴
۱۰:۲۱

سلام.
نه رایگان نیست. یک پیامک ارسال می شود و مطابق قوانین مخابرات، هزینه ای برای صاحب خط موبایل خواهد داشت.
اگر با  Force Close (یا Force Stop) روبرو شده اید، باید کدها را خطایابی کنید (کلید شماره 813).

Flower

سید محمدعلی
۱۳۹۶/۰۴/۱۵
۱۸:۰۸

سلام من می خوام با زدن روی ی دکمه مستقیم sms ارسال بشه نمیخوام بره روی صفحه پیام ها کدش چطور می شه؟

jef313
۱۳۹۶/۱۰/۲۵
۰۹:۵۰

سلام و درود


من sms را تونستم وارد برنامه کنم با دیتابیس حالا مشکلم اینه که اگر پیامهای زیادی از نوعی که میخوام مثلا از یک شماره بیاد اینباکس گوشیم پر میشه
با عبارت زیر خواستم دیگه پیام ما وارد اینباکس نشه اندرویدم ۴٫۲ هست
()abortBroadcast
ولی نتونستم
getAbortBroadcast
هم میگیرم میگه true
ولی عمل نمیکنه به هر حال
روشی را پیدا کردم که همه پیامها را حذف میکند:
mContext.getContentResolver().delete(Uri.parse("content://sms/"), null, null);

ولی روشی میخوام که هر پیامی که برنامه وارد خودش میکنه بتونه همون پیام را در اینباکس حذف کنه

hamed
۱۳۹۸/۱۲/۲۷
۲۳:۲۵

سلام دوست عزیز من یک برنامه ای نوشتم که برای فعالسازی از پیامک استفاده میکنه و میخواستم درخواستی رو که از گوشی کاربر برای من ارسال میشه در لیست پیامها نمایش داده نشه
با این دستوری که شما نوشتید امتحان کردم اما پاک نمشه
میشه راهنماییم کنید؟؟ممنون

محمد
۱۳۹۶/۱۲/۲۵
۲۰:۳۷

سلام من این کدو استفاده کردم و حتی تو مینفست اجازه دسترسی رو دادم ولی موقع زدن دکمه ارسال برنامه خارج میشه حتی کد و غیرفعال کردم و شماره و متن رو توست کردم ولی درست اجرا شده اینم کد


btnFORGET.setOnClickListener(new View.OnClickListener() {
   @Override
   public void onClick(View v) {
     String mob="09386119858";
     String matn="matn";
      Toast.makeText(LOGIN.this, "mob:"+mob+"matn:"+matn, Toast.LENGTH_SHORT).show();
       SmsManager smsManager = SmsManager.getDefault();
       smsManager.sendTextMessage(mob, null, matn, null, null);


}
       });

amir
۱۳۹۷/۰۳/۰۶
۲۳:۰۰

دوست عزیز
شما درست انجام دادین ولی از یک اندرویدی به بالا  باید درخواست دسترسی از کاربر تایید بشه
به این لینک سربزن حتما متوجه میشی.
https://stackoverflow.com/questions/3263...eclared-it

فاطمه
۱۳۹۷/۰۲/۲۲
۱۳:۲۹

سلام من برای ارسال مستقیم اس ام اس کدی کفتید نوشتم وای در اجرا  force closeمی کنه و به فایل smsmanager.java  خطا می ده دلیلش چی می تونه باشه. ممنونم

سعید
۱۳۹۷/۰۵/۰۳
۱۶:۲۱

سلام دوست عزیز در اندروید ۶ به بالا باید در بخش تنظیمات گوشی، اپ منیجر، برنامه ای که ساختین اجازه دسترسی به اسمس رو فعال (آن) کنید.
یا
تارگت رو روی ۱۹ قرار دهید
بهترین سایت برنامه نویسی کلیدستان هست مرسی که هستین

روزبه
۱۳۹۷/۱۱/۰۱
۲۰:۳۳

سلام ممنون از وب سایت خوبتون

در اندروید 6 به بالا که گفتین باید برای ارسال اس ام اس از اپ منیجر فعال بشه که در صورت فعال نکردن برنامه کرش میکنه این یه عیبه باید کاربر رو به این قسمت قبل از کرش برنامه برد چطوری؟

ارشیا آریایی
۱۳۹۹/۰۵/۰۸
۱۳:۱۰

سلام وقت بخیر در مورد ارسال پیامک برای پیام های چند خطی ارسال نمی کنه مثلا برای پیامکی که اندازه دوتا پیامک هست یا سه تا منظورم اینه که تعداد حرف های پیامک مثلا 160 یا 200 حرف است در این حال پیامک ارسال نمیشه و خطا هم نمیده امکانش هست راهنمایی بفرمایید

ارسال نظر جدید (بدون نیاز به عضو بودن در وب سایت)