انجمن سایت کلیدستان


رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
نمایش نوتیفیکیشن در یک زمان خاص (در برنامه نویسی اندروید)

نمایش نوتیفیکیشن در یک زمان خاص (در برنامه نویسی اندروید)

#2
خب من خودم تونستم این کار رو انجام بدم گفتم اینجا نحوه کار رو توضیح بدم که بعدا دوستان استفاده کنن
با استفاده از service و alarmManager تعیین میکنیم که مثلا هر روز ساعت 12:10 نوتیفیکیشن نمایش داده بشه به کاربر:

این کد رو جایی که میخوایم نمایش نوتفیکیشن رو فعال کنیم مینویسیم مثلا تو رویداد کلیک یه دکمه:

کد پی‌اچ‌پی:
PendingIntent pendingIntent;
        
Intent myIntent = new Intent(this MyService.class);
//است MySevice اسم سرویسی که قراره کد نمایش نوتیفیکیشن رو داخلش بنویسم
        
AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
        
pendingIntent PendingIntent.getService(this0myIntent0);

        
Calendar calendar Calendar.getInstance();
//اینجا تعیین میکنیم که ساعت 12:10:59 نوتیفیکیشن نمایش داده بشه
//البته خیلی دقیق نیست حدودی هستش
        
calendar.set(Calendar.HOUR_OF_DAY12);
        
calendar.set(Calendar.MINUTE10);
        
calendar.set(Calendar.SECOND,59);

        
alarmManager.setRepeating(AlarmManager.RTC_WAKEUPcalendar.getTimeInMillis(), 24 60 60 1000pendingIntent);//اینجا هم میگیم که هر 24 ساعت یکبار دوباره نمایش داده بشه 

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

کد پی‌اچ‌پی:
public class MyService extends Service {


    @
Override
    
public int onStartCommand(Intent intentint flagsint startId) {

        
NotificationCompat.Builder mBuilder =   new NotificationCompat.Builder(this)
                .
setSmallIcon(R.mipmap.Icon)
                .
setContentTitle("خخخخخخخخخخ")
                .
setContentText("خخخخخخخخخخخ")
                .
setAutoCancel(true);

        
intent = new Intent(thisActivity.class);//اینجا هم که میگیم بعد از کلیک رو نوتیفیکیشن به اکتیویتی مورد نظر تشریف ببرد
        
PendingIntent pi PendingIntent.getActivity(this0intentPendingIntent.FLAG_UPDATE_CURRENT);

        
mBuilder.setContentIntent(pi);
        
NotificationManager mNotificationManager = (NotificationManagergetSystemService(Context.NOTIFICATION_SERVICE);
        
mNotificationManager.notify(0mBuilder.build());
        return 
Service.START_FLAG_REDELIVERY;
    }

    @
Override
    
public IBinder onBind(Intent intent) {
        return 
null;
    }


تموم شد Smile
پاسخ
 سپاس شده توسط dost-67 ، داش بهروز ، admin


پیام‌های این موضوع
RE: نمایش نوتیفیکیشن در یک زمان خاص - توسط دیب دمینی - ۱۳۹۴/۰۸/۰۱, ۰۲:۴۴ ب.ظ

پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان