ahmadii

دریافت اس ام اس

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

سلام

من یه BroadcastReceiver نوشتم که با اون توی اندروید 4.4 SMS ها رو intercept میکنم ولی توی ورژن های پایینتر که تست کردم کار نمیده

مثلا ورژن 4.1.2 تست کردم کار نمیده هیچ عکس العملی نشون نمیده

و جالب اینه که وقتی تو مود دیباگ هستم و گوشی متصله پیام رو intercept میکنه

دلیلش چیه؟

و یه سوال دیگه اونم اینکه چطوری میشه این پیام هایی که intercept میشن رو مانع ازون بشیم که داخل پیام ها سیو بشن یا بعبارتی هم نوتیفیکیشن نده و هم ذخیره نشه

ممنون

[shcode=java]

public class SmsListener extends BroadcastReceiver {

    @Override

    public void onReceive(Context context, Intent intent) {

        if (intent.getAction().equals(Telephony.Sms.Intents.SMS_RECEIVED_ACTION)) {

            Bundle bundle = intent.getExtras(); // ---get the SMS message passed

                                                // in---

            SmsMessage[] msgs = null;

            String msg_from;

            if (bundle != null) {

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

                try {

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

                    msgs = new SmsMessage[pdus.length];

                    for (int i = 0; i < msgs.length; i++) {

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

                        msg_from = msgs.getOriginatingAddress();

                        String msgBody = msgs.getMessageBody();

                        Toast.makeText(context, msgBody, Toast.LENGTH_LONG).show();

                         

                            abortBroadcast();

                            Intent intent1 = new Intent(context, MainActivity.class);

                            intent1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

                            intent1.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);

                            intent1.putExtra("msgBody", msgBody);                           

                            context.startActivity(intent1);

                       

                    }

                } catch (Exception e) {

                     Log.e("Exception caught",e.getMessage());

                }

            }

        }

    }

}

[/shcode]

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


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

سلام دریافت اس ام اس بنا به دلایله گوگل برای اندروید پایین 4.4 یک روش دیگری دارد و برای اندروید 4.4 به بالا یک روش دیگه !!

شما باید هر دو را پیاده سازی کنید .

و اینکه اگر Toast رو برداری نوتیفکشن که گفتی نمیاد .

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

موفق باشید

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


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

سلام دریافت اس ام اس بنا به دلایله گوگل برای اندروید پایین 4.4 یک روش دیگری دارد و برای اندروید 4.4 به بالا یک روش دیگه !!

شما باید هر دو را پیاده سازی کنید .

و اینکه اگر Toast رو برداری نوتیفکشن که گفتی نمیاد .

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

موفق باشید

ممنون از پاسخ شما

در اندروید 4.4 هرکاری کنی اخرش پیام رو به کاربر نمایش میده

راه کاری هست که برنامه رو default sms application نکنیم و بتونیم کاری که میخوام رو انجام بدیم!

منظورم از نوتیفیکشن اون نوار بالای خود اندروید هست نه Toast.

برای بازار نیست دوست عزیز!

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


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

در کل کاری که من میخوام بکنم  اینه که، یه برنامه بنویسم تو همه ورژن ها ی اندروید پیام رو دریافت کنه و به کاربر نشون نده و بتونم متن پیام رو پردازش کنم!

ممنون

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


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

باید با کد زیر ورژن رو تست کنی:

		if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT) {

	} else {

	}

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


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

تست کردم ورژن رو، ولی در ورژن های پایین تر GO SMS اولویت داره به بقیه ، و باید GO SMS رو حذف کرد تا پیام دریافت بشه!

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


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

حالا سوال اینجاس که بنده شخصا با اینکه GO SMS رو نصب داشتم از برنامه موبایل بانک ملت استفاده میکردم! پس چرا این مشکل وجود نداشته!

در ورژن های قبلی بانک ملت چه راهکاری برای اینکار دیده شده بوده که علی رقم وجود GO SMS برنامه بخوبی کار میکرده!؟

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


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

حالا سوال اینجاس که بنده شخصا با اینکه GO SMS رو نصب داشتم از برنامه موبایل بانک ملت استفاده میکردم! پس چرا این مشکل وجود نداشته!

در ورژن های قبلی بانک ملت چه راهکاری برای اینکار دیده شده بوده که علی رقم وجود GO SMS برنامه بخوبی کار میکرده!؟

من زیاد روی این مسئله  تحقیق کردم ک برنامم رو دیفالت نزارم و اینا 

ولی ظاهرا نمیشه

از اندروید 4.4 ب بالا باید حتما دیفالت بزاری اپلیکیشنتو

و اگه دیفالتم بزاری باز نوتیفیکیشن میاد

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

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

و هیچ نوتیفیکیشنی نمیاد

میتونی از یک پرت خاص اس ام اس رو ارسال بکنی

و در نرم افزارت گوش ب زنگ همان پرت باشی

و وقتی اس ام اس از همان پرت آمد ، شروع ب خواندن اون بکنی

برنامه بانک ها هم فکر کنم از همین راه استفاده میکنن برای اس دادن و گرفتن

امیدوارم کمکت کرده باشم

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


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

بنده کماکان درگیر این GO SMS هستم

در اندروید 4.4 مشکل حل میشه وقتی برنامه رو default app میکنم

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

فقط با پاک کردن Go SMS حل میشه

باید چیکار کرد

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


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

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


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

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

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

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

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


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

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

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


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