السلام عليكم ورحمه الله وبركاته
كيفيكم يا اخوانى اتمنى ان تكونوا بخير ان شاء الله
اليوم سوف نقوم بشرح شىء بسيط جدا وهو كيفيه ارسال رساله sms من كود الـ Android
قد تكون سهله وبسيطه ولكن ممكن ان تستخدمها فى تطبيقك
اذا كنت تريد ان تقوم بالتواصل او فى حاله سرقة موبيلك
او اى شىء كانت فكره التطبيق ان تقوم بارسال رساله الى رقم كنت مخزنه قبل كدا
الطريقه طبعا هتكون كود ضمنى لكن دعنا نقوم ببناء واجهه تقوم باخذ رقم الموبيل ونص الرساله ومن ثم تقوم بارسالها للرقم
وطبعا كلنا يعرف ان بناء واجهه 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" />
وللتأكد انه تم ارسال الرساله فهذا خصم لثمن الرساله من الموبيل ![]()
الكود الخاص بالـ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();
}
}لتحميل البروجكت
بالتوفيق ان شاء الله