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

حذف آلارم منیجر استاد(حل شد+کدها اضافه شد)

واتیکان  10 سال پیش  10 سال پیش
0 0

با سلام

بنده با قسمت دوم آموزش استاد یک آلارم منیجر ساختم و با موفقیت کار میکنه

حالا مشکل اینجاست مثلا آلارم منیجر آیدی 22 هست  و  من داخل کلاس دیگه ای میخوام این آلارم رو متوقف کنم ولی اصلا متوقف نمیشه و آلارم در زمان خودش کار میکنه

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

 alarmmanager.cancel(pi);
+1 0
سلام برای درج کد در سئوال از علامت استفاده کنید (10 سال پیش)
+1 0
اگر کدت رو می گذاشتی بهتر می توانستیم کمکت کنیم (10 سال پیش)
 برای این سوال 3 پاسخ وجود دارد.
پاسخ به سوال 
واتیکان  10 سال پیش
0 0

 CalendarModule jCal = new CalendarModule();
jCal.PersianToGregorian(Integer.parseInt(String_year_choise), Integer.parseInt(String_month_choise), Integer.parseInt(String_day_choise));
String DateFull = jCal.toString();
String DateYear = DateFull.substring(0, 4);
String DateMonth = DateFull.substring(5, 7);
String DateDay = DateFull.substring(8, 10);


//Set Date For Alarm
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, Integer.parseInt(DateYear));
calendar.set(Calendar.MONTH, (Integer.parseInt(DateMonth)) - 1);
calendar.set(Calendar.DAY_OF_MONTH, Integer.parseInt(DateDay));
calendar.set(Calendar.HOUR_OF_DAY, Integer.parseInt(String_hourse_choise));
calendar.set(Calendar.MINUTE, Integer.parseInt(String_minute_choise));
calendar.set(Calendar.SECOND, 0);

Context context = getApplicationContext();
Intent intent = new Intent(context, Show.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra("type", Type);
intent.putExtra("title", name_yadavari_field_edt.getText().toString());
intent.putExtra("matn", matn_yadavari_field_edt.getText().toString());
intent.putExtra("cat", Cat);
intent.putExtra("call", call_field_edt.getText().toString());
intent.putExtra("time", String_hourse_choise + ":" + String_minute_choise);
intent.putExtra("date", String_year_choise + "/" + String_month_choise + "/" + String_day_choise);
intent.putExtra("message", message_field_edt.getText().toString());
intent.setData((Uri.parse("foobar://" + SystemClock.elapsedRealtime())));
PendingIntent pendingIntent = PendingIntent.getActivity(context, 22, intent, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);
+1 0
برای همچین نوشته هایی از اضافه کردن نظر استفاده کنید (10 سال پیش)
0 0
لطفا کدهارو مشاهده کنید من باهاشون یک آلارم میسازم و یک مقدار خاص رو در زمان خاص ارسال میکنم ولی هرکاری کردم نمی تونم اونو کنسل کنم (10 سال پیش)
+1 0
شما می خواهید در کلاس دیگه ای این آلارم رو کنسل کنید؟ برای امتحان در همین کلاس که آلارم رو تعریف می کنید یه button بسازید و کنسل شدن رو در این button قرار بدهید ببینید درست عمل می کند (10 سال پیش)
0 0
بله مهندس جان مقدار آیدی مشخص هست میخوام داخل یک کلاس دیگه انجام بدم (10 سال پیش)
+1 0
همه addflags و putExtra و setData ها رو حذف کنید ببینید درست می شود دیگه راه حلی به ذهنم نمی رسد چون خودم از همین روش استفاده کرده ام و مشکلی نبوده. (10 سال پیش)
0 0
خوب مهندس جان هدف من ارسال این مقادیر در یک زمان خاص هست!! اگر پاک کنم که فایده ایی نداره بنظرتون برای ارسال مقادیر چکار کنم؟ مقادیر در دیتابیس توسط کاربر وارد میشن (10 سال پیش)
+1 0
برای تست گفتم .گفتم شاید از addflags باشه خودم هم مقادیر ارسال کرده ام و مشکلی نبوده (10 سال پیش)
پاسخ به سوال 
عزیزی  10 سال پیش
+2 0

اگر کدهای خودت رو می گذاشتی بهتر بود ولی حالا به این کدها نگاه کن ببین کارت رو راه می اندازد

operation , am را به صورت static تعریف کن تا بتوانی در کلاس های دیگر بهش دسترسی داشته باشی

Intent intent = new Intent(Main.this, AlarmDialog.class);
PendingIntent operation = PendingIntent.getActivity(getBaseContext(), 0, intent,
PendingIntent.FLAG_UPDATE_CURRENT);
am.set(AlarmManager.RTC_WAKEUP, alarmStart, operation);

برای متوقف شدنش

operation = PendingIntent.getActivity(getBaseContext(), 0, intent, 0);
am.cancel(operation);

اگه بازم مشکل داشتی اطلاع بده

 

 
0 0
کدهام رو اضافه کردم (10 سال پیش)
0 0
دقیقا از همین روش برای کنسل کردن استفاده کردم (10 سال پیش)
پاسخ به سوال 
واتیکان  10 سال پیش
0 0

مشکل من دقیقا بخاطر این چند خطی هست ک باهاشون مقادیر رو ارسال میکنم

خطهای زیر رو پاک کردم و به درستی کار کرد

 intent.putExtra("type", Type);
                intent.putExtra("title", name_yadavari_field_edt.getText().toString());
                intent.putExtra("matn", matn_yadavari_field_edt.getText().toString());
                intent.putExtra("cat", Cat);
                intent.putExtra("call", call_field_edt.getText().toString());
                intent.putExtra("time", String_hourse_choise + ":" + String_minute_choise);
                intent.putExtra("date", String_year_choise + "/" + String_month_choise + "/" + String_day_choise);
                intent.putExtra("message", message_field_edt.getText().toString());
                intent.setData((Uri.parse("foobar://" + SystemClock.elapsedRealtime())));
0 0
من میخوام حتما این مقادیر ارسال بشن (10 سال پیش)
0 0
فقط باید تکه کد زیر رو حذف بکنیم intent.setData((Uri.parse("foobar://" + SystemClock.elapsedRealtime()))); (10 سال پیش)

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