آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

اجرا شدن قطعه ای کد بعد از روشن شدن صفحه نمایش گوشی

سامان  8 سال پیش  8 سال پیش
+1 0

سلام دوستان

من می خواستم یک قطعه کدی رو اجرا کنم بعد از اینکه کاربر صفحه ی نمایش گوشیش رو روشن کرد (فقط صفحه نمایش) اگه دقت کرده باشید وقتی که صفحه نمایش گوشی رو روشن می کنیم اپلیکیشنی مثل تلگرام شروع می کنه به گرفتن اطلاعات از سرور و ساخت نوتیفیکشن برای اونا. در واقع وقتی که صفحه نمایش روشن می شه سرویسی رو اجرا می کنه اما سرویس بعد از مدتی می میره،!! اما با این ترفند که (هر موقع کاربر صفحه نمایشش رو روشن کرد اون قطعه کد اجرا بشه مثلا start کردن یک سرویس) می تونیم ; از کشته شدن سرویسه برای همیشه تا حدودی جلو گیری کنیم! در واقع سوال که من دارم اینه که چطوری می تونیم اینکارو بکنیم اونم در api 14  چون تلگرام دقیقا در api 14 این عملکرد رو داره

من برای این موضوع خیلی جستجو کردم اما به جوابی نرسیدم تا اینکه با سایت شما مواجه شدم، ممنون می شم اگه کمکم کنید.

0 0
تا اونجایی که من سورس تلگرام رو بررسی کردم تلگرام یک سرویس نوشته که دائم در حال اجراست بدین صورت که بعد از کشته شدن خودشو دوباره اجرا میکنهhttps://github.com/DrKLO/Telegram/blob/6a1cf64f6f45ba0d0e7ff898e8a6c677ddc3ef33/TMessagesProj/src/main/java/org/telegram/messenger/NotificationsService.java در مورد این جمله : (اگه دقت کرده باشید وقتی که صفحه نمایش گوشی رو روشن می کنیم اپلیکیشنی مثل تلگرام شروع می کنه به گرفتن اطلاعات از سرور و ساخت نوتیفیکشن برای اونا. در واقع وقتی که صفحه نمایش روشن می شه سرویسی رو اجرا می کنه اما سرویس بعد از مدتی می میره) جسارت نباشه از نطر من بخشی از برداشتون اشتباست. آیا در گوشی دیگه ای هم این مورد رو بررسی کردید؟ داخل تنضایمات اندروید (دقیقا نمیدونم از کدوم api به بعد) قسمتی هست که میتونید اعلام کنید مثلا فلان برنامه (یا همه برنامه ها) بعد از قفل شدن صفحه گوشی سرویس های در حال اجراشون متوقف بشه . در چنین حالتی احتمالا اتفاقی که گفتید میافته حال ممکنه شرکت گوشی سازی که دستگاه شما رو ساخته به صورت پیشفرض این تنظیمات رو فعال گذاشته یا خودتون قبلا فعال کردید و یادتون نیست. در کل بررسی بیشتری باید انجام بدید. موفق باشید (8 سال پیش)
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
nero 360  8 سال پیش
0 0

سلام باید با استفاده از Broadcast Receiver انجام بدید 

 
BroadcastReceiver broadcastReceiver  = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if(intent.getAction().equals( "android.intent.action.SCREEN_ON")){
// do it
}
}
};
0 0
سلام مرسی از کمکتون اما این رو اندروید 14 جواب نمی ده (8 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .