close
تبلیغات در اینترنت
کشتن برنامه,کشتن نرم افزار,کشتن نرم افزار اندروید,کد کشتن نرم افزار ان
صفحه اصلی پرشین استک

{ پرشین استک }

به دنیای برنامه نویسی خوش آمدید
|


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


تعداد مطالب :
142


تعداد توسعه دهندگان :
11


تاریخ امروز :
جمعه 29 تیر 1397

به کانال تلگرام ما بپیوندید


×

لیست سوالات من

افزودن

چگونه می توان در اندروید هشدار (Alarm) را پس از از بین بردن برنامه ها حفظ کرد ؟

کد زیر AlarmManager را شروع می کند :

 

PendingIntent sender = PendingIntent.getBroadcast(MainNote.this, ID, intent,PendingIntent.FLAG_UPDATE_CURRENT);

AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
am.set(AlarmManager.RTC_WAKEUP, time, sender);

 

درست کار می کند ، اما زمانی که برنامه خود را در task killer از بین می برم ، زنگ هشدار را از دست می دهم . چگونه این مسئله را می توان حل کرد؟

UPD - کد کامل در اینجا است :

1. در اینجا AlarmManager شروع می شود.

 

public void AlarmStart(long time,String str,boolean vibr,boolean sound){
Intent intent = new Intent(MainNote.this,AlarmReceiver.class);
intent.putExtra("alarm_message", str);
intent.putExtra("Vibration", vibr);
intent.putExtra("Sound", sound);
intent.putExtra("time_in_millis", time);
Random r = new Random();
int ID = r.nextInt();
WriteInfoInFile(time, str, vibr, sound);
PendingIntent sender = PendingIntent.getBroadcast(MainNote.this, ID, intent,PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
am.set(AlarmManager.RTC_WAKEUP, time, sender);
}

 

کد زیر برای گیرنده هشدار (alarm reseiver) است :

 

public class AlarmReceiver extends BroadcastReceiver{

@Override
public void onReceive(Context context,Intent intent){
Bundle bundle = intent.getExtras();
String message = bundle.getString("alarm_message");
Long timeInMillis = bundle.getLong("time_in_millis");
Log.e("TIME IN AlarmReceiver", timeInMillis.toString());
boolean Vibration = bundle.getBoolean("Vibration");
boolean Sound = bundle.getBoolean("Sound");
NotifierHelper NH = new NotifierHelper();
if (message.equals(""))
NH.sendNotification(context,ShowNote.class, context.getResources().getString(R.string.NotifTitle), context.getResources().getString(R.string.Nodiscr),1,Sound,true,Vibration, timeInMillis);
else
NH.sendNotification(context,ShowNote.class, context.getResources().getString(R.string.NotifTitle), message,1,Sound,true,Vibration, timeInMillis);
}
}

 

کد زیر برای کمک کننده هشدار (NotifierHelper) است :

 

public class NotifierHelper{
public void sendNotification(Contextcaller,Class<?> activityToLaunch,String title,String msg,int numberOfEvents,boolean sound,boolean flashLed,boolean vibrate,long timeInMillis){
NotificationManager notifier = (NotificationManager)caller.getSystemService(Context.NOTIFICATION_SERVICE);

finalNotification notify = new Notification(R.drawable.icon,"",System.currentTimeMillis());

notify.icon = R.drawable.icon;
notify.tickerText = title;
notify.when = System.currentTimeMillis();
notify.number = numberOfEvents;
notify.flags |= Notification.FLAG_AUTO_CANCEL;
if(sound) notify.defaults |= Notification.DEFAULT_SOUND;

if (flashLed){
// add lights
notify.flags |= Notification.FLAG_SHOW_LIGHTS;
notify.ledARGB = Color.CYAN;
notify.ledOnMS = 500;
notify.ledOffMS = 500;
}

if(vibrate){
notify.vibrate = new long[]{100,200,300};
}

Intent toLaunch = new Intent(caller, activityToLaunch);
toLaunch.putExtra("Time_In_Millis", timeInMillis);
toLaunch.addFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
toLaunch.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
Random r = new Random();
int NOTIFY_1 = r.nextInt();
PendingIntent intentBack = PendingIntent.getActivity(caller, NOTIFY_1, toLaunch,0);

notify.setLatestEventInfo(caller, title, msg, intentBack);
notifier.notify(NOTIFY_1, notify);
}

 

پاسخ :

برنامه شما یک پیام را به عنوان از بین رفتنش پخش می کند و هنگامی که این پیام پخش می شود ، سپس گوش دهنده بررسی می کند که آیا برنامه در حال اجراست یا نه . این باعث اطمینان نسبت به این موضوع می شود که برنامه پس از نابود شدن ، هنوز در حال اجراست .

من سعی می کنم دیاگرام زیر را برای شما ایجاد کنم :

لینک عکس دیاگرام

 

متد ()onDestroy  قسمتی از یک سرویس است .

به طور ایده آل تنها می خواهید یک نمونه از سرویس را اجرا کنید. بنابراین شناسه موجود در ()inStart  باید برابر 1 باشد تا آن را شروع کند .  آن را نادیده بگیرید .


متد های اطلاع از کلاس Service :

()onStart : این متد زمانی صدا زده می شود که سرویس شروع به کار می کند .

()onDestroy : این متد زمانی صدا زده می شود که سرویس از بین می رود .

 

متد های اطلاع از کلاس BroadcastReciever :

()onReceive : این متد تمام intent هایی را که به آن ارسال شده را دریافت می کند (مگر اینکه فلتر شود) .

 

مرجع 1

مرجع 2

 

صفحه اصلی

30

22 / 05 / 1396

PERSIAN STACK


چرا گاهی اوقات API موقعیت مکانی سرویس گوگل پلی ، موقعیت مکانی اشتباهی را برمی گرداند ؟

ادامه مطلب

613

چگونه نرم افزار ضبط صدای اندرویدی بسازیم ؟

ادامه مطلب

549

چرا TextView کلمات را با حروف می شکند ؟

ادامه مطلب

497

دانلود تمامی API های اندروید

ادامه مطلب

435

قسمت شانزدهم - جدول ها در HTML

ادامه مطلب

419

چرا وبسایت تجارت الکترونیک Magento 2 در Webview اندروید کار نمی کند ؟

ادامه مطلب

363

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

ادامه مطلب

347

چگونه Google API برای سطح API 25 را پیدا کنیم ؟

ادامه مطلب

345

دانلود سورس کد بازی اندرویدی Klooni 1010! + فایل APK

ادامه مطلب

259

آیا راهی برای یافتن تغیرات ماه در نمای تقویم اندروید (calendar view) وجود دارد ؟

ادامه مطلب

243

در تکمیل خودکار اندروید ، دلیل dispatchProvideAutofillStructure() not laid out چیست ؟

ادامه مطلب

233

چرا زمانی که با استفاده از cordova در اندروید 7.0 ، اس ام اس ارسال می کنیم ، با اثتثنای (Exception) امنیتی مواج

ادامه مطلب

227

آموزش ساخت و شخصی سازی Navigation Drawer در اندروید استودیو

ادامه مطلب

211

دانلود تمامی نسخه های gradle برای اندروید

ادامه مطلب

195

دانلود سورس کد اپلیکیشن هواشناسی برای اندروید + فایل APK

ادامه مطلب

181

چگونه ارور com.bumptech.glide.Registry$NoModelLoaderAvailableException: Failed to find any ModelLoaders را در اندروید رفع کنیم ؟

ادامه مطلب

173

دانلود اسکریپت جاوای PS-CH# - ایجاد ورودی متنی پیشرفته

ادامه مطلب

121

دانلود کتابخانه Retrofit برای اندروید + پروژه

ادامه مطلب

119

دانلود سورس کد تمامی نسخه های تلگرام + فایل های نصبی

ادامه مطلب

113

دانلود کتابخانه GSON برای اندروید + پروژه

ادامه مطلب

111

دانلود اسکریپت جاوای PS-CH# - ایجاد ورودی متنی پیشرفته

ادامه مطلب

یکشنبه 05 آذر 1396

قسمت هفدهم - لیست ها در HTML

ادامه مطلب

یکشنبه 21 آبان 1396

چگونه می توان با استفاده از CSS ، رنگ placeholder را تغییر داد ؟

ادامه مطلب

یکشنبه 21 آبان 1396

قسمت شانزدهم - جدول ها در HTML

ادامه مطلب

شنبه 20 آبان 1396

دانلود تمامی نسخه های gradle برای اندروید

ادامه مطلب

شنبه 20 آبان 1396

قسمت پانزدهم - عکس ها در HTML

ادامه مطلب

جمعه 19 آبان 1396

قسمت چهاردهم - لینک ها در HTML

ادامه مطلب

یکشنبه 14 آبان 1396

آموزش ساخت و شخصی سازی Navigation Drawer در اندروید استودیو

ادامه مطلب

یکشنبه 14 آبان 1396

قسمت سیزدهم - CSS در HTML

ادامه مطلب

شنبه 13 آبان 1396

قسمت بیست و پنجم (قسمت آخر) - آموزش ساخت بازی حدس

ادامه مطلب

پنجشنبه 11 آبان 1396

قسمت بیست و چهارم - آموزش نحوه ی پردازش فایل ها در جاوا

ادامه مطلب

پنجشنبه 11 آبان 1396

قسمت بیست و سوم - برنامه تکمیلی جاوا (6)

ادامه مطلب

پنجشنبه 11 آبان 1396

قسمت بیست و دوم - معرفی آرایه ها در جاوا

ادامه مطلب

پنجشنبه 11 آبان 1396

قسمت بیست و یکم - برنامه تکمیلی جاوا (5)

ادامه مطلب

پنجشنبه 11 آبان 1396

قسمت بیستم - معرفی مفهوم وراثت در جاوا

ادامه مطلب

پنجشنبه 11 آبان 1396

قسمت نوزدهم - برنامه تکمیلی جاوا (4)

ادامه مطلب

پنجشنبه 11 آبان 1396

قسمت هجدهم - معرفی عبارات کنترلی در جاوا

ادامه مطلب

پنجشنبه 11 آبان 1396

قسمت هفدهم - برنامه تکمیلی جاوا (2-3)

ادامه مطلب

چهارشنبه 10 آبان 1396

چگونه در برنامه نویسی اندروید ، یک ListView با متن و عکس بسازیم ؟

ادامه مطلب

سه شنبه 09 آبان 1396

چگونه در برنامه نویسی اندروید از فونت شخصی خود استفاده کنیم ؟

ادامه مطلب

سه شنبه 09 آبان 1396

دانلود تمامی نسخه های gradle برای اندروید

ادامه مطلب

آموزش ساخت و شخصی سازی Navigation Drawer در اندروید استودیو

ادامه مطلب

چگونه در برنامه نویسی اندروید ، یک ListView با متن و عکس بسازیم ؟

ادامه مطلب

چگونه در برنامه نویسی اندروید از فونت شخصی خود استفاده کنیم ؟

ادامه مطلب

چگونه در برنامه نویسی اندروید می توان آیدی موبایل را بدست آورد ؟

ادامه مطلب

چگونه در برنامه نویسی اندروید برنامه تماس بسازیم ؟

ادامه مطلب

چگونه در برنامه نویسی اندروید یک منو ساده بسازیم ؟

ادامه مطلب

چگونه در برنامه نویسی اندروید از برنامه اسکرین شات بگیریم ؟

ادامه مطلب

چگونه می توان در اندروید RTL یا LTR صفحه را ثابت کرد ؟

ادامه مطلب

چگونه می توان در اندروید حالت افقی (landscape) را غیر فعال کرد ؟

ادامه مطلب

آموزش استفاده از دیتابیس آماده در پروژه اندرویدی

ادامه مطلب

دانلود سورس کد تمامی نسخه های تلگرام + فایل های نصبی

ادامه مطلب

دانلود کتابخانه GSON برای اندروید + پروژه

ادامه مطلب

دانلود سورس کد اپلیکیشن آموزش زبان انگلیسی + فایل APK

ادامه مطلب

چگونه نگذاریم در آغاز اکتیویتی ، EditText فوکوس را بدست آورد ؟

ادامه مطلب

چگونه کیبورد پیش فرض اندروید (Soft Keyboard) را پنهان کرده یا ببندیم ؟

ادامه مطلب

چرا سرعت مجازی ساز اندروید کم است و چگونه می توان سرعت آنرا افزایش داد ؟

ادامه مطلب

تفاوت بین واحد های اندازه گیری "px" , "dp" , "dip" و "sp" چیست ؟

ادامه مطلب

دانلود سورس کد اپلیکیشن آهنگ سازی برای اندروید + فایل APK

ادامه مطلب

دانلود سورس کد اپلیکیشن هواشناسی برای اندروید + فایل APK

ادامه مطلب

× برای نظر گذاشتن یا پاسخ دادن به سوالات باید در سایت عضو باشید !

برای حمایت از ما روی بنر های زیر کلیک کنید .

برای سفارش تبلیغات به ما ایمیل بزنید .

ارتباط با ما