رفتن به مطلب
انجمن اندروید ایران | آموزش برنامه نویسی اندروید و موبایل
  • android.png.1fab383bc8500cd93127cebc65b1dcab.png

پست های پیشنهاد شده

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

این کلاس Receiver هست.

[shcode=java]

package com.example.a11.sms_proj;

import android.app.Activity;

import android.content.BroadcastReceiver;

import android.content.Context;

import android.content.Intent;

import android.os.Bundle;

import android.telephony.SmsMessage;

import android.util.Log;

import android.widget.Toast;

public class SMSReciever extends BroadcastReceiver

{

    public void onReceive(Context context, Intent intent)

    {

//---get the SMS message passed in---

        Bundle bundle = intent.getExtras();

        SmsMessage[] msgs = null;

        String str = "SMS from ";

        if (bundle != null)

        {

//---retrieve the SMS message received---

            Object[] pdus = (Object[]) bundle.get("pdus");

            msgs = new SmsMessage[pdus.length];

            for (int i=0; i

                msgs = SmsMessage.createFromPdu((byte[])pdus);

                if (i==0) {

//---get the sender address/phone number---

                    str += msgs.getOriginatingAddress();

                    str += ": ";

                }

//---get the message body---

                str += msgs.getMessageBody().toString();

            }

//---display the new SMS message---

            Toast.makeText(context, str, Toast.LENGTH_SHORT).show();

            Log.d("SMSReceiver", str);

//---send a broadcast intent to update the SMS received in the activity---

            Intent broadcastIntent = new Intent();

            broadcastIntent.setAction("SMS_RECEIVED_ACTION");

            broadcastIntent.putExtra("sms", str);

            context.sendBroadcast(broadcastIntent);

        }

    }

}

[/shcode]

اینم MainActivity

[shcode=java]

package com.example.a11.sms_proj;

import android.app.Activity;

import android.content.BroadcastReceiver;

import android.content.Context;

import android.content.DialogInterface;

import android.content.Intent;

import android.content.IntentFilter;

import android.database.Cursor;

import android.net.Uri;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.EditText;

import android.widget.TextView;

import android.widget.Toast;

    public class MainActivity extends Activity {

        IntentFilter intentFilter;

        private BroadcastReceiver intentReceiver = new BroadcastReceiver() {

            @Override

            public void onReceive(Context context, Intent intent) {

                //---display the SMS received in the TextView---

                TextView SMSes = (TextView) findViewById(R.id.textView1);

                SMSes.setText(intent.getExtras().getString("sms"));

            }

        };

        /** Called when the activity is first created. */

        @Override

        public void onCreate(Bundle savedInstanceState) {

            super.onCreate(savedInstanceState);

            setContentView(R.layout.activity_main);

            //---intent to filter for SMS messages received---

            intentFilter = new IntentFilter();

            intentFilter.addAction("SMS_RECEIVED_ACTION");

        }

}

[/shcode]

در اصل میخوام مقادیر دریافتی رو بریزم تو یه متغیر ولی گفتم اول چاپ بشه تا مرحله بعد.

شرمنده بابت بد Past شدن . درستش کردم.

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

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...