24 ارسال در این موضوع قرار دارد

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

برای اینکار در اندروید SmsManager برای اینکار قرار داده شده است.

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

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

فایل main.xml

<?xml version="1.0" encoding="utf-8"?>

android:id="@+id/linearLayout1"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="vertical" >

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

android:id="@+id/editTextPhoneNo"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_margin="5dip"

android:phoneNumber="true" >

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

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

android:id="@+id/buttonSend"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_margin="5dip"

android:text="Send" />


 

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

خب.....

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


 

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

}

}

});

 

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

 

SmsManager smsmanager = SmsManager.getDefault();

smsmanager.sendTextMessage(phoneNo, null, sms, null, null

);

 

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

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

سلام

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

ممنون

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

سلام من کارهایی که شما گفتید رو انجام دادم برنامه ام یکم فرق میکنه چند تا متن که همه رو در یک متن به هم متصل کردم و فقط میخوام متن آخری که اتصال رشته ها به هم رو با sms ارسال کنم شماره هم خودم دستی تو قسمت کد نویسی وارد کردم اما پیامی ارسال نمیشه

ممنون میشم راهنماییم کنید؟

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

سلام

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

ممنون

برای ارسال پیام یا هر عمل دیگه از طریق اینترنت نیاز به وب سرویس های مورد نظر دارید!

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

درسته نیاز داریم، بنده به اینترنت دسترسی دارم، هیچ مشکلی ندارم، اما چه کدی باید باشه که از طریق اینترنت ارسال کرد

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

غیر از وب سرویس روش دیگه ای هم وجود داره که شرط و شروطی داره و جالب نیست! 

استفاده از برنامه های مانندwhatsapp  و یا غیره  یعنی در برنامه خودتون از intent این برنامه ها برای ارسال پیام استفاده کنید و شرطش اینه که برنامه مزبور حتما intent مورد نظر رو برای عموم جهت استفاده و ارسال پیام مهیا کرده باشه  و شرط دوم برنامه شما حتما باید در کنار این برنامه اجرا بشه و اگه نباشه که دیگه ارسال پیامی نداره! 

در سایت stackoverflow بروبچ یه سری کد ها نوشتن من خودم تست نکردم اگه خواستی تست کن ببین جواب میده! 

برای حالت وب سرویس هم باید یک سرور وجود داشته باشه ( حال اون شرکت یا سازمان این سرور رو تهیه کنه و دیوایس ارسال پیام هم  یا اینکه سروری وجود داشته باشه که وب سرویس ارسال پیام را در اختیار دیگران قرار بده پولی یا رایگان) و کد های مربوط به وب سرویس باید با توجه به API موجود در سرور نوشته بشه!

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

به صورت اتفاقی این سایت رو دیدم که خدمات ارسال پیام  به صورت وب سرویس در اختیار کاربران قرار می دهد البته رایگان نیست! 

http://www.payam-resan.com/CMS/

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

سلام کریم

خیلی ممنون، تازه همین اشتراک اطلاعاعت می خواستم، پس پیدا کردم.

ولی من می خوام واتس آپ شبیه سازی کنم، مثلا یه برنامه ساختیم با همراه یک دکمه و لیست ویو، دو کاربر همددیگر پیام بدیم، پیام شو در لیستو نمایش بدهد.

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

سلام کریم

خیلی ممنون، تازه همین اشتراک اطلاعاعت می خواستم، پس پیدا کردم.

ولی من می خوام واتس آپ شبیه سازی کنم، مثلا یه برنامه ساختیم با همراه یک دکمه و لیست ویو، دو کاربر همددیگر پیام بدیم، پیام شو در لیستو نمایش بدهد.

خواهش می کنم! 

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

می خوای یک برنامه ساده ارسال و دریافت پیام بنویسی به صورت دست گرمی و این حرفا ،

 یا نه می خوای به صورت تجاری باشه و رو دست واتس هم بزنه یعنی همه بیان از برنامه شما استفاده کنند (ایده خوبیه اگه رایگان باشه :D

یا نه پروژه دانشجویی و استاد راهنما و این حرفا ! 

اگه خواستی اینجا  و یا PM  صورت مساله به صورت کامل و شفاف مطرح کن همراه با محدودیت هایی که دارید  اون جوری بیشتر میشه کمک کرد!

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

کریم جان، می خوام برای تیکت یا پشیبانی استفاده کنم

شاید هم شبیه واتس آپ ساختم، بعیده که پولی باشه، باید رایگان باشه :D

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

سلام

من وقتی این برنامه را اجرا میکنم پیغام خطا میده SMS faild, please try again later!

حتی روی گوشی با اندروید 4.2.1 نصب کردم بازم ارسال نمیشه و همین پیغام را میده.

لطفا راهنمایی کنید.

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

سلام

من وقتی این برنامه را اجرا میکنم پیغام خطا میده SMS faild, please try again later!

حتی روی گوشی با اندروید 4.2.1 نصب کردم بازم ارسال نمیشه و همین پیغام را میده.

لطفا راهنمایی کنید.

خوب دسترسی ارسال پیام هم به برنامه دادی ؟  اگه دادید ایا روی ایمولیتور ارسال پیام انجام میده ؟ اگه نه  خطای موجود در  LogCat رو ارسال کن یا سورس بزار چک کنم!

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

[align=left]05-10 13:15:59.993: E/Trace(784): error opening trace file: No such file or directory (2)

05-10 13:16:00.913: D/gralloc_goldfish(784): Emulator without GPU emulation detected.

[align=right]اینها رو تو LogCat برام مینویسه.

درضمن چجوری باید دسترسی ارسال پیام را به برنامه بدم ؟

مرسی.[/align]

[/align]

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

درست شد. رفتم توی manifest و permission را بهش دادم .

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

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

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

مثلا میخوام برنامه بنویسم که کدی به یک دستگاه ارسال کنه وقتی اون دستگاه جواب داد نرم افزارم بیاد متن پیامک رو بخونه و بعد هم حذف کنه و تو اینباککس نره. مثل موبایل بانک ها.

ممنون میشم کمکم کنین

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

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

برنامم اینطوریه که از طریق GPS و اینترنت موقیعیت مکانی فرد رو می گیره و به صورت پیامک ارسال می کنه

حالا مشکل اینجاست که زمانی که زبان گوشیم فارسی باشه .اسم کشور به صورت فارسی از طریق اینترنت دریافت میشه

مثلا ایران

و من یه رشته دارم که به صورت زیر

String str=  location +;

 که خود location  از متد دیگه گرفته می شه و شامل

رشته : "Country: ایران"

[align=left][align=right]ومتد SmS به صورت زیر[/align]

SmsManager smsManager = SmsManager.getDefault();

            smsManager.sendTextMessage(address, null,location.toString(),  null, null);  [/align]

حالا برنامه خطایی نمیده ولی پیام به اون شماره داده شده نمی رسه

ولی اگر زبان گوشیم رو انگلیسی کنم

رشته میشه: Country: Iran و پیام با همون کد بالا ارسال می شه بدون هیچ مشکلی

لطفا راهنماییم کنید .چون خیلی سرش وقت گذاشتم اما حل نمیشه !!!

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

خوب وقتی رشته رو میگیری چک کن ببین اگه ایران است اون رو تبدیل به Iran کن و بعد بقیه کار.

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

خوب وقتی رشته رو میگیری چک کن ببین اگه ایران است اون رو تبدیل به Iran کن و بعد بقیه کار.

ایران که همیشه ثابت نیست شاید یه کشور دیگه باشه ....

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

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

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

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

ممنون

 این راه خوبی به نظر می رسه


آیا این امکان وجود داره که متدی را که در activity  وجو داره توسط یک  service به صورت پس زمینه اجرا کرد ؟

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

بستگی داره متد چی باشه.به پارامترهاش و ... بستگی داره


اگر نیاز نیست در خود اکتیوتی این کار را بکنید

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

متدش طوریه که باید تو Activity  ساخته بشه توش از دیتابیس و متدهای مربوط به اون که فکر نکنم بشه تو سرویس ساختش .و فقطتوش یکسری عملیات ظولانی انجام میشه و خروجی هم نداره

ولی دلیل اینکه می خوام از طریق Serviceاجرا بشه این که زمانی که برنامه اجرا میشه اگر  متد بخواد اجرا شه یه زمانی طول می کشه برای همین

UI داخل اکتیویتیم بعد از اون زمان لود میشه و جلوه خوبی نداره

به نظر شما برای رفع این مشکل چکار باید کرد ؟

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

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

اگر واقعا سنگین است یک متد استاتیک در سرویس تعریف کنید و سپس وقتی سرویس را اجرا کردید در اکتیویتی از ان استفاده کنید

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

سلام یه سوال داشتم 

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

کسی هست کمکم کنه؟

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

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

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری

  • مطالب مشابه

    • توسط niloobani
      دوستان به یک برنامه نویس و توسعه دهنده ios و اندروید در یک شرکت معتبر نیاز دارم. لطفا در صورت داشتن شرایط پیام بدید
      http://banijob.com/company/پیشگامان-هوا-و-انرژی/jobs/APP-Developer
    • توسط AliMirzaei
      سلام
      من موقع ران کردن کد در ecilpse با اروری مواجه شدم! ممنون میشم مشکل من را حل کنید!
      مشکل در تصاویر زیر آمده است!
      مدل سیستم+نسخه JDK ,JRE + نسخه ecilpse در تصاویر آمده!
       
       
       





    • توسط b.kordtabar
      چگونه می توان در اپلیکیشن اندروید قابلیت آپ دیت اضافه کرد؟
    • توسط Omid Zakeri
      ویجت یک برنامه ی کوچک و یا یک کنترل از برنامه ی اندروید شما می باشد که در صفحه ی home  قرار گرفته است.  ویجت ها می توانند به راحتی در دسترس باشند، چرا که به شما اجازه می دهند تا برنامه های مورد علاقه ی خود را روی صفحه home قرار دهید تا به سرعت به آنها دسترسی داشته باشید. احتمالا چند ویجت متداول از جمله ویجت موسیقی، آب و هوا و ساعت، را دیده اید.
      ویجت ها می توانند انواع مختلفی داشته باشند از قبیل ویجت اطلاعات، ویجت های مجموعه، ویجت های کنترل و ویجت های چندگانه. اندروید یک چارچوب کامل به ما ارائه می دهد تا ویجت های خود را گسترش دهیم.
       
      Widget - XML file
      برای ایجاد یک ویجت کاربردی، ابتدا چیزی که نیاز دارید، شی Object AppWidgetProviderInfo است که شما در یک فایل XML ویجت جداگانه تعریف می کنید. برای انجام این کار، بر روی پروژه خود راست کلیک کرده و یک پوشه جدید به نام xml ایجاد کنید. حالا روی پوشه تازه ایجاد شده راست کلیک کرده و یک فایل XML جدید ایجاد کنید. نوع منبع فایل XML باید به AppWidgetProvider تنظیم شود. در فایل xml برخی از خواص را به صورت زیر تعریف می کنید:
      <appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android" android:minWidth="146dp" android:updatePeriodMillis="0" android:minHeight="146dp" android:initialLayout="@layout/activity_main"> </appwidget-provider> Widget - Layout file
      حالا شما باید طرح ویجت خود را در فایل پیش فرض XML خود تعریف کنید. شما می توانید قطعات را برای تولید xml خودکار بکشید.
      Widget - Java file
      پس از تعریف طرح، در حال حاضر یک فایل JAVA جدید ایجاد کنید یا از موجود استفاده کنید و آن را با کلاس AppWidgetProvider گسترش دهید و روش بهروزرسانی آن را به صورت زیر تعریف کنید.
      در روش به روز رسانی، شما باید شیء دو کلاس را که PendingIntent و RemoteViews هستند تعریف کنید. نحو آن :
      PendingIntent pending = PendingIntent.getActivity(context, 0, intent, 0); RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.activity_main);  
      Widget - Manifest file
      شما همچنین باید AppWidgetProvider را در فایل manifest خود به شرح زیر اعلام کنید:
      <receiver android:name="ExampleAppWidgetProvider" > <intent-filter> <action android:name="android.appwidget.action.APPWIDGET_UPDATE" /> </intent-filter> <meta-data android:name="android.appwidget.provider" android:resource="@xml/example_appwidget_info" /> </receiver>  
      MainActivity.java
      package com.example.omidza.myapplication; import android.app.PendingIntent; import android.appwidget.AppWidgetManager; import android.appwidget.AppWidgetProvider; import android.content.Context; import android.content.Intent; import android.net.Uri; import android.widget.RemoteViews; import android.widget.Toast; public class MainActivity extends AppWidgetProvider{ public void onUpdate(Context context, AppWidgetManager appWidgetManager,int[] appWidgetIds) { for(int i=0; i<appWidgetIds.length; i++){ int currentWidgetId = appWidgetIds[i]; String url = "http://www.tutorialspoint.com"; Intent intent = new Intent(Intent.ACTION_VIEW); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.setData(Uri.parse(url)); PendingIntent pending = PendingIntent.getActivity(context, 0,intent, 0); RemoteViews views = new RemoteViews(context.getPackageName(),R.layout.activity_main); views.setOnClickPendingIntent(R.id.button, pending); appWidgetManager.updateAppWidget(currentWidgetId,views); Toast.makeText(context, "widget added", Toast.LENGTH_SHORT).show(); } } } res/layout/activity_main.xml
      <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity" android:transitionGroup="true"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Tutorials point" android:id="@+id/textView" android:layout_centerHorizontal="true" android:textColor="#ff3412ff" android:textSize="35dp" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Widget" android:id="@+id/button" android:layout_centerHorizontal="true" android:layout_marginTop="61dp" android:layout_below="@+id/textView" /> </RelativeLayout> res/xml/mywidget.xml.
      <?xml version="1.0" encoding="utf-8"?> <appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android" android:minWidth="146dp" android:updatePeriodMillis="0" android:minHeight="146dp" android:initialLayout="@layout/activity_main"> </appwidget-provider> AndroidManifest.xml
      <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.omidza.myapplication" > <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <receiver android:name=".MainActivity"> <intent-filter> <action android:name="android.appwidget.action.APPWIDGET_UPDATE"></action> </intent-filter> <meta-data android:name="android.appwidget.provider" android:resource="@xml/mywidget"></meta-data> </receiver> </application> </manifest>  
    • توسط saeed1366412
      با سلام میخواستم بدون داخل صفحه xml چطوری اعداد به صورت توان دار داخل textview بنویسم 
       

  • دوره آموزشی اندروید ایران کانادا آموزش ویدئویی اندروید آموزش برنامه نویسی اندروید اندروید کاپ دوره آنلاین اندروید کتاب های آموزشی اندروید بسته آموزشی اندروید دوره برنامه نویسی اندروید آموزش Kotlin
  • فایل