hojjatalavi 4 ارسال شده در 21 دی، ۱۳۹۵ اشتراک گذاری ارسال شده در 21 دی، ۱۳۹۵ سلام .میخواستم یه برنامه بنویسم که در حالتی که صفحه گوشی خاموش هست پس از دریافت اس ام اس از یک شماره خاص ، برنامه رو اجرا کنه .آیا با سرویس pnbroadcastreciever میشه این کار رو کرد؟ لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
پژمان نیکروان 6,055 ارسال شده در 21 دی، ۱۳۹۵ اشتراک گذاری ارسال شده در 21 دی، ۱۳۹۵ در 22 دقیقه قبل، hojjatalavi گفته است : جناب ایزدی ممنونم smsinterceptor زمانی که برنامه در حال اجرا باشه باهاش میشه پیامهای دریافت شده رو خوند.اما من میخوام با دریافت پیامک برنامه ام اجرا بشه. باز هم ممنون از راهنماییتون سلام. شما باید از برادکست رسیور استاتیک استفاده کنید. کتابخانه هایی نظیر PNbroadCast و SMSIn.... فقط توی سرویس کار میکنن. کل کارایی که باید انجام بشه برای یه برادکست رسیور دریافت پیامک: باید تو منیفست این برادکست رو رجیستر کنید: AddReceiverText(receiver,<intent-filter> <action android:name="android.provider.Telephony.SMS_RECEIVED"></action> </intent-filter>) یه سرویس ایجاد بکنید که به محض دریافت پیامک اجرا بشه و اینتنت مورد نظر رو استخراج کنه، مثلا من اسم سرویس رو گذاشتم receiver و تو کد بالا هم اسمشو دادم. بعدش بیاید با استخراج اینتنت به وسیله Bundle که این هم از InLineJava استفاده بشه.(چون تو بیسیک نداریم) ، شماره و متن رو بگیرید و شرط های لازم رو بذارید: Sub Service_Start (StartingIntent As Intent) Dim j As JavaObject j.InitializeContext Log("شماره: "&j.RunMethod("GET",Array As Object("number",StartingIntent))) Log("متن: "&j.RunMethod("GET",Array As Object("body",StartingIntent))) End Sub #if java import android.os.Bundle; import android.content.Intent; import android.telephony.SmsMessage; public String GET(String extra,Intent intent){ final Bundle bundle = intent.getExtras(); try { if (bundle != null) { final Object[] pdusObj = (Object[]) bundle.get("pdus"); for (int i = 0; i < pdusObj.length; i++) { SmsMessage currentMessage = SmsMessage.createFromPdu((byte[]) pdusObj[i]); String phoneNumber = currentMessage.getDisplayOriginatingAddress(); String senderNum = phoneNumber; String message = currentMessage.getDisplayMessageBody(); extra=extra.toLowerCase(); if(extra.contains("body")) {return message;} else if(extra.contains("number")) {return senderNum;} //pejman nikravan } } } catch (Exception e) { // } return ""; } #end if حالا اینا یه تکه هایی از روند کارش بود. من قبلا یه سورس دقیقا برای همینکار برای کسی آماده کردم بودم که اینجا میذارمش استفاده کنید. دریافت اس ام اس با برادکست استاتیک لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
مهدی ایزدی 9,203 ارسال شده در 21 دی، ۱۳۹۵ اشتراک گذاری ارسال شده در 21 دی، ۱۳۹۵ درود و خوش آمد بهتون میگم با pnbroadcastReceiver شخصا کار نکردم و خود استاد نیکروان و صدا میکنم تا بیاد بهتون در موردش توضیح بیشتری بده اما چیزی که میخواهید با این روش میشه : کلا عبارت SmsInterceptor رو توی انجمن جست و جو کنید هر تاپیگی که بالا بیاره به کار شما مربوط میشه لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
hojjatalavi 4 ارسال شده در 21 دی، ۱۳۹۵ سازنده اشتراک گذاری ارسال شده در 21 دی، ۱۳۹۵ جناب ایزدی ممنونم smsinterceptor زمانی که برنامه در حال اجرا باشه باهاش میشه پیامهای دریافت شده رو خوند.اما من میخوام با دریافت پیامک برنامه ام اجرا بشه. باز هم ممنون از راهنماییتون لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
mojtaba68 62 ارسال شده در 21 دی، ۱۳۹۵ اشتراک گذاری ارسال شده در 21 دی، ۱۳۹۵ من نمیتونستم با این دکمه پسند خودمو راضی کنم ممنون ممنون لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
hojjatalavi 4 ارسال شده در 21 دی، ۱۳۹۵ سازنده اشتراک گذاری ارسال شده در 21 دی، ۱۳۹۵ با سلام خدمت شما جناب نیکروان خیلی ممنونم که منو راهنمایی میفرمایید . دو تا سوال دارم . 1. آیا با این کار اگه برنامه اجرا نشده باشه میتوان اجراش کرد؟ 2.چطور از این برنامه تو main استفاده کنم. ببخشید اگه سوالها در سطح پایین و پیش پا افتاده است. ممنون از وقتی که میذارید لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
پژمان نیکروان 6,055 ارسال شده در 21 دی، ۱۳۹۵ اشتراک گذاری ارسال شده در 21 دی، ۱۳۹۵ در ۱ ساعت قبل، hojjatalavi گفته است : 1. آیا با این کار اگه برنامه اجرا نشده باشه میتوان اجراش کرد؟ سلام. خیر باید حتما برنامه یکبار اجرا بشه تا برادکست در منیفست رجیستر بشه. در ۱ ساعت قبل، hojjatalavi گفته است : 2.چطور از این برنامه تو main استفاده کنم. منظورتون رو متوجه نشدم. لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
hojjatalavi 4 ارسال شده در 21 دی، ۱۳۹۵ سازنده اشتراک گذاری ارسال شده در 21 دی، ۱۳۹۵ از برنامه recieve که زحمت کشیدید ارسال کردین تو برنامه اصلی خودم استفاده کنم. پارامترهایی که در اختیار من میذاره کدوم هستش؟ من برنامه رو توی برنامه خودم اضافه کردم اما ارتباط بین این برنامه و برنامه خودم از طریق کدوم پارامترها باید انجام بشه. ممنون لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
mojtaba68 62 ارسال شده در 21 دی، ۱۳۹۵ اشتراک گذاری ارسال شده در 21 دی، ۱۳۹۵ مهندس این کد شماست Log("شماره: "&j.RunMethod("GET",Array As Object("number",StartingIntent))) Log("متن: "&j.RunMethod("GET",Array As Object("body",StartingIntent))) من میخوام تو گوشی این کد با msgbox اجرا کنم چطور کدنویسی کنم لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
پژمان نیکروان 6,055 ارسال شده در 21 دی، ۱۳۹۵ اشتراک گذاری ارسال شده در 21 دی، ۱۳۹۵ در 20 دقیقه قبل، hojjatalavi گفته است : من برنامه رو توی برنامه خودم اضافه کردم اما ارتباط بین این برنامه و برنامه خودم از طریق کدوم پارامترها باید انجام بشه. منظورتون سرویس Receiver هست؟ # ببینید اینا دیگه مربوط میشه به دانش و تجربه خودتون، چیزای ساده ای هست که با یه سرچ پیدا میشه. اینطوری الکی تاپیک پر از پاسخ میشه. شما گفتید با دریافت اس ام اس اکتیویتی main تون اجرا بشه، منم اومدم یه لاگ گذاشتم که شماره و پیام دریافت شده رو نشون بده. خب همینجا مینویسید StartActivity(main) تا اکتیویتی main رو اجرا کنه دیگه اگه منظورتون اینه که چطور شماره و پیام دریافت شده رو انتقال بدید به اکتیویتی main و اونجا نمایشش بدید، میتونید دوتا متغیر توی procces_Gloubals اکتیویتی تعریف کنید: Sub Process_Globals Dim shomare,payam As String End Sub و توی سرویس receiver هم شماره و پیامو مساوی این دوتا متغیر قرار بدید و اکتیویتی رو استارت کنید: Sub Service_Start (StartingIntent As Intent) Dim j As JavaObject j.InitializeContext Main.shomare=j.RunMethod("GET",Array As Object("number",StartingIntent)) Main.payam=j.RunMethod("GET",Array As Object("body",StartingIntent)) StartActivity(Main) End Sub در 26 دقیقه قبل، mojtaba68 گفته است : من میخوام تو گوشی این کد با msgbox اجرا کنم چطور کدنویسی کنم برای شما همینطور، اینطور چیزها خیلی زیاد بحث شده و تکراری هست. توی سرویس نمیتونید مسیج باکس نمایش بدید، باید ToastMessage استفاده کنید، یا یه اکتیویتی رو استارت کنید و اونجا نمایش بدید. و یا مسیج باکس سفارشی بسازید که بازهم سرچ کنید برای نمونه: مسیج باکس در سرویس اینطور چیزها پیدا میشه. لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
mojtaba68 62 ارسال شده در 21 دی، ۱۳۹۵ اشتراک گذاری ارسال شده در 21 دی، ۱۳۹۵ مهندس شما با کتابخانه PNBroadcastReceiver میشه یک سرویس پنهان درست کرد که وقتی از یک شماره خاص محدود کنیم مثلا اگر این شماره اس ام اس اومد 0937******40 متن و شماره تلفن بگیره و نرم افزار که تو اون اکتیویتی که سرویس ماژولی که استارت کرده بودیم اونجا بیام متن و شماره نمایش بدیم ..... یک مورد دیگه اینکه این فیلم اموزش ویدیویی که تدوین کردید که خیلی عالی بود منو با این قابلیت کتابخانه روشن کردی ممنون حال برای دریافت اس ام اس میشه استفاده کرد امکان داره منو راهنمایی کنید android.intent.action.DATA_SMS_RECEIVEDدریافت android.provider.Telephony.SMS_CB_RECEIVEDدریافت android.provider.Telephony.SMS_DELIVERارسال android.provider.Telephony.SMS_EMERGENCY_CB_RECEIVEDاظطراری android.provider.Telephony.SMS_RECEIVED دریافت android.provider.Telephony.SMS_REJECTED android.provider.Telephony.SMS_SERVICE_CATEGORY_PROGRAM_DATA_RECEIVED مهندس میخوان من یک تایپیک جدید از این PNBroadcastReceiver کتابخانه بزنم اونجا مبحث سرویس پنهان این کتابخانه در مورد با sms دریافت و ارسال صحبت کنیم لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
پژمان نیکروان 6,055 ارسال شده در 21 دی، ۱۳۹۵ اشتراک گذاری ارسال شده در 21 دی، ۱۳۹۵ در 40 دقیقه قبل، mojtaba68 گفته است : اگر این شماره اس ام اس اومد 0937******40 متن و شماره تلفن بگیره و نرم افزار که تو اون اکتیویتی که سرویس ماژولی که استارت کرده بودیم اونجا بیام متن و شماره نمایش بدیم ..... عزیز دل برادر نیازی نیست از PNBroadcast استفاده کنید و نمیدونم مخفی سازی سرویس و... این سورس و روش بالا اصلا نیازی به اجرا موندن یه سرویس نداره. و همون کاری هم که میخواین قابل انجامه. من تعجب میکنم، شماره ها نمایش داده شدن، کافیه یه شرط بذارید و کارتون رو انجام بدید دیگه. تاپیک اصلی پاسخ داده شد، باقی سوالات با سرچ و یا ایجاد تاپیک جدید حل میشه. لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
سوال
hojjatalavi 4
سلام .میخواستم یه برنامه بنویسم که در حالتی که صفحه گوشی خاموش هست پس از دریافت اس ام اس از یک شماره خاص ، برنامه رو اجرا کنه .آیا با سرویس pnbroadcastreciever میشه این کار رو کرد؟
لینک ارسال
به اشتراک گذاری در سایت های دیگر
11 پاسخ به این سوال تاکنون داده شده است
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.