|
|
|
[Android] การดักจับสถานะ Notificaion ใน NotificationListenerService |
|
|
|
|
|
|
|
คือทำแอพพลิเคชั่นที่ต้องใช้ Notification ที่ส่งมาจาก Firebase ค่ะ โดยใช้ไฟล์ php ซึ่งส่วนนี้สำเร็จแล้ว
ตอนนี้ติดปัญหาในส่วนของการใช้งาน NotificationListenerService ค่ะ
ตรง method onNotificationRemoved มันดัก event ใน onNotificationRemoved ได้
แต่มันไม่ได้แยกว่า notification ที่ถูก remove ไปนั้นเกิดจากผู้ใช้ เปิด หรือ cancel มันออกไปค่ะ
ซึ่งในส่วนนี้จำเป็นต้องทราบสถานะจาก onNotificationRemoved จริงๆ
เพื่อนำไปกำหนดค่าให้ Badge นับจำนวน unread ที่ไอคอนต่อไป
ควรต้องทำยังไงดีคะ วอนผู้รู้ช่วยตอบด้วยค่ะ
นี่คือโค้ดที่ได้ทำไว้ค่ะ
import android.app.Notification;
import android.os.Bundle;
import android.service.notification.StatusBarNotification;
import android.util.Log;
import android.widget.Toast;
import me.leolin.shortcutbadger.ShortcutBadger;
public class NotificationListenerService extends android.service.notification.NotificationListenerService{
public void onCreate() {
super.onCreate();
}
@Override
public void onNotificationPosted(StatusBarNotification sbn) {
super.onNotificationPosted(sbn);
Bundle mExtras=sbn.getNotification().extras;
CharSequence bigText = (CharSequence) mExtras.getCharSequence(Notification.EXTRA_TEXT);
if(bigText != null){
Log.d("lognotification1",bigText.toString());
}
if(getPackageName().equals(sbn.getPackageName())){
Toast.makeText(getApplicationContext(), "Hello Toast!", Toast.LENGTH_LONG).show();
int badgeCount=30;
ShortcutBadger.applyCount(getApplicationContext(),badgeCount);
}
}
@Override
public void onNotificationRemoved(StatusBarNotification sbn) {
super.onNotificationRemoved(sbn);
Toast.makeText(getApplicationContext(), "Remove Toast!", Toast.LENGTH_LONG).show();
int badgeCount=0;
ShortcutBadger.applyCount(getApplicationContext(),badgeCount);
}
}
Tag : Mobile, Android, JAVA, Mobile
|
ประวัติการแก้ไข 2018-02-22 16:35:42 2018-02-22 16:36:06 2018-02-22 16:41:40
|
|
|
|
|
Date :
2018-02-22 16:34:41 |
By :
The Sin(95) |
View :
1350 |
Reply :
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ดักจับพวก Event Click ก่อนครับ อาจจะสร้างตัวแปรไว้ข้างบนว่ามีการ Click เกิดขึ้นหรือไม่
|
|
|
|
|
Date :
2018-02-24 08:18:53 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|