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

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

سلام

من یه 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 برنامه بخوبی کار میکرده!؟

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

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

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

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

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

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

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

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

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

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

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

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

لینک ارسال
به اشتراک گذاری در سایت های دیگر
  • 1 ماه بعد...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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