• 0
com.jkelany

كيفية ارسال رساله Sms عن طريق تطبيق الاندرويد لرقم موبيل

سؤال

السلام عليكم ورحمه الله وبركاته

كيفيكم يا اخوانى اتمنى ان تكونوا بخير ان شاء الله

اليوم سوف نقوم بشرح شىء بسيط جدا وهو كيفيه ارسال رساله sms من كود الـ Android

قد تكون سهله وبسيطه ولكن ممكن ان تستخدمها فى تطبيقك

اذا كنت تريد ان تقوم بالتواصل او فى حاله سرقة موبيلك

او اى شىء كانت فكره التطبيق ان تقوم بارسال رساله الى رقم كنت مخزنه قبل كدا

الطريقه طبعا هتكون كود ضمنى لكن دعنا نقوم ببناء واجهه تقوم باخذ رقم الموبيل ونص الرساله ومن ثم تقوم بارسالها للرقم

post-217802-027705100 1349048275_thumb.p

وطبعا كلنا يعرف ان بناء واجهه layout مثل هذه سهل ولا يحتاج الى شرح

وهذا هو الكود send_sms.xml



<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:weightSum="100">
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="90"
>
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/phone_number"
/>
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/phone_number"
android:phoneNumber="true"
/>

<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/sms_body"
/>
<EditText
android:layout_width="fill_parent"
android:inputType="textMultiLine"
android:id="@+id/sms_body"
android:layout_height="300dp"/>
</LinearLayout>
</ScrollView>
<Button
android:layout_weight="10"
android:text="@string/send"
android:id="@+id/send_button"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
</LinearLayout>


ثم بعد ذلك نقوم ببناء الـ Activity الذى يقوم بالتعامل مع هذا الـ layout

التطبيق سهل جدا

سوف نقوم بعمل مرجعيه للمتغيرات مثل حقل رقم الموبيل وحقل نص الرساله و زرار الارسال

وفى الحدث الخاص بزرار الارسال نقوم بفحص هل حقل الموبيل او نص الرساله فارغ ام لا

ومن ثم بعدها نقوم بارسال الرساله عن طريق الكود البسيط التالى


SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(phoneNumber, null, smsBody,null, null);

تقوم بالحصول على مدير الرسايل ومن ثم تقوم بوضع مكونات الرساله وهو ما يهمنا هنا هو الرقم ونص الرساله

phoneNumber , smsBody وبعد استدعاء الداله sendTextMessage وارسال لها البيانات سوف يقوم الموبيل بارسال الرساله للرقم

لكن يبقى شىء بسيط وهو طلب الاذن من الاندرويد بارسال الرساله

وهذا يكون عن طريق الـ permission الخاص بذلك وسوف نقوم بوضعه فى الـ AndroidManifest.xml

لكى تتمكن من ارسال الرسايل

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

post-217802-045580000 1349048561_thumb.p

وللتأكد انه تم ارسال الرساله فهذا خصم لثمن الرساله من الموبيل ROFL.gif

post-217802-067821100 1349048601_thumb.p

الكود الخاص بالـSendSMSActivity.java


package com.jkelany.sms;

import android.app.Activity;
import android.telephony.SmsManager;
import android.view.View;
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class SendSMSActivity extends Activity implements View.OnClickListener {
private EditText phoneEditText, msgEditText;
private Button sendSmsButton;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.send_sms);
init();
}

private void init() {
phoneEditText = (EditText) findViewById(R.id.phone_number);
msgEditText = (EditText) findViewById(R.id.sms_body);
sendSmsButton = (Button) findViewById(R.id.send_button);
sendSmsButton.setOnClickListener(this);
}

@Override
public void onClick(View v) {
if (v.getId() == R.id.send_button) {
if (phoneEditText != null
&& phoneEditText.getText().toString().trim().length() > 0) {
if (msgEditText != null
&& msgEditText.getText().toString().trim().length() > 0) {
String phoneNumber = phoneEditText.getText().toString()
.trim();
String smsBody = msgEditText.getText().toString().trim();

SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(phoneNumber, null, smsBody,
null, null);
showToastMessage("Sending sms...");
} else {
showToastMessage("Missing SMS body.");
}
} else {
showToastMessage("Missing phone number.");
}
}
}

private void showToastMessage(String text) {
Toast.makeText(this, text, Toast.LENGTH_SHORT).show();
}
}

لتحميل البروجكت

Send SMS.zip

بالتوفيق ان شاء الله

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

0 إجابة على هذا السؤال .

لاتوجد إجابات على هذا السؤال حتى الآن .

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .