نسخه ی ۱.۳.۴ پوشه: رسیورهای دریافت کلیک/رد اعلان
از نسخه ۱.۳.۱ از کتابخانه پوشه امکان دریافت رخداد مربوط به کلیک/رد نوتیفیکشن توسط کاربر اضافه شده است و می توانید با اضافه کردن رسیور لازم این رخداد را دریافت کنید.
از نسخه ی ۱.۳.۴ به بعد، intent_filter مربوط به این رسیور به صورت زیر تغییر پیدا کرده است و نام پکیج برنامه هم در آن باید اضافه شود، بصورت زیر:
می توانید با ثبت یک رسیور در برنامه تان، از کلیک شدن یا رد کردن اعلان مطلع شوید. برای این کار یک BroadcastReceiver در برنامه خودتان اضافه کنید و اینتنت فیلتر های زیر را در آن اضافه کنید. سه اینتنت فیلتر برای سه اتفاق کلیک، دیسمیس اعلان و کلیک شدن دکمه ای از اعلان معرفی شده است. می توانید هر سه را استفاده کنید یا فقط یکی یا دو تا را بسته به نیازمندی خودتان مشخص کنید.
< receiver android:name=".NotifBroadcastReceiver">
< intent-filter>
< action android:name="YOUR_PKG_NAME.pusheco.NOTIF_CLICKED"/>
< action android:name="YOUR_PKG_NAME.pusheco.NOTIF_DISMISSED" />
< action android:name="YOUR_PKG_NAME.pusheco.NOTIF_BTN_CLICKED" />
</ intent-filter>
</ receiver>
در کلاس BroadcastReceiver هم کدی شبیه به زیر اضافه کنید:
public class NotifBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if(intent.getAction().equals("YOUR_PKG_NAME.pusheco.NOTIF_CLICKED")){
Log.i("Pushe", "Broadcast YOUR_PKG_NAME.pusheco.NOTIF_CLICKED received");
//add your logic here
}
else if(intent.getAction().equals("co.ronash.pushe.NOTIF_DISMISSED")){
Log.i("Pushe", "Broadcast co.ronash.pushe.NOTIF_DISMISSED received");
//add your logic here
}
else if(intent.getAction().equals("YOUR_PKG_NAME.pusheco.NOTIF_BTN_CLICKED")){
String btnId = intent.getStringExtra("pushe_notif_btn_id");
Log.i("Pushe", "Broadcast YOUR_PKG_NAME.pusheco.NOTIF_BTN_CLICKED received. BtnId = "+btnId);
//add your logic here
}
}
}
در حالتی که یک دکمه اعلان کلیک شود، شناسه آن دکمه را که یکی از اعداد ۱ تا ۳ هست می توانید داشته باشید و از روی آن اینکه چه دکمه ای کلیک شده است را متوجه میشوید.