我正在開發應用程序爲android和ios使用反應原生。當我收到遠程通知時,我想在應用程序圖標上顯示徽章號碼。我正在使用react-native-fcm第三方庫和iOS徽章工作正常。在Android中,我只能在應用處於前景時顯示徽章號碼。當應用程序被殺或在後臺我無法顯示徽章號碼。我知道Android本身不支持顯示徽章,但我已經看過Facebook和Messenger應用程序在Android上顯示徽章。請有人可以告訴我如何實現這一點在Android甚至應用程序被殺死或在後臺。提前致謝。在Android上設置應用程序圖標時的徽章號碼,當應用程序在後臺或遇到類似Facebook應用程序時收到通知
2
A
回答
2
onMessageReceived沒有得到調用,它只調用數據有效載荷發送。
如果數據有效載荷和通知有效載荷都發送,也比onMessageReceived沒有調用。
使用下面的代碼在應用程序處於後臺時從服務器獲取徽章,或者因爲您的FirebaseMessagingService正在運行而被殺死。
public class Custom_FirebaseMessagingService extends FirebaseMessagingService {
private static final String TAG = "FirebaseMsgService";
String activityName;
@Override
public void zzm(Intent intent) {
Log.i("uniqbadge", "zzm");
Set<String> keys = intent.getExtras().keySet();
for (String key : keys) {
try {
Log.i("uniq", " " + key + " " + intent.getExtras().get(key));
if (key.equals("badge")) {
String cnt = intent.getExtras().get(key).toString();
int badgeCount = Integer.valueOf(cnt);
Log.i("uniq", " badge count " + badgeCount);
ShortcutBadger.applyCount(this, badgeCount);
Log.i("uniq", " " + "end");
}
} catch (Exception e) {
Log.i("uniqbadge", "zzm Custom_FirebaseMessagingService" + e.getMessage());
}
}
super.zzm(intent);
}
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
Log.i(TAG, "From: " + remoteMessage.getFrom());
if (remoteMessage == null)
return;
if (remoteMessage.getNotification() != null) {
Log.i(TAG, "Notification Body: " + remoteMessage.getNotification().getBody());
}
if (remoteMessage.getData().size() > 0) {
Log.i(TAG, "Data Payload: " + remoteMessage.getData().toString());
...
相關問題
- 1. 當通知到達時更改應用程序圖標徽章
- 2. 當應用程序遇到無限循環時收到通知?
- 3. android Intent.ACTION_TIME_TICK doent當其他應用程序在後臺時收到
- 4. iPhone應用程序中的應用程序圖標徽章
- 5. 在Web應用程序上收到SMS時收到通知
- 6. 當應用程序在後臺時的Android-Firebase推送通知
- 7. 意圖當應用程序在後臺時立即打開應用程序-Android
- 8. 使用JavaFX設置應用程序圖標時遇到問題
- 9. iPhone:如何設置應用程序徽章,當應用程序關閉/在後臺?
- 10. 應用程序在後臺接收ACS推送時遞增應用程序徽章:Titanium
- 11. 應用程序徽章
- 12. 如何在Android應用程序(如iPhone)上創建通知圖標徽章
- 13. iPhone - 在應用程序在後臺運行時更改應用程序設置
- 14. 在我的應用程序上實施徽章通知
- 15. Android應用程序時間延遲當應用程序在後臺運行
- 16. 當在後臺的應用程序接收pushwoosh推送通知
- 17. 更新徽章號碼,當應用程序未打開時收到推送通知
- 18. 當應用程序在後臺時推送通知
- 19. 當應用程序在後臺時不顯示推送通知
- 20. 當應用程序在後臺顯示通知時不顯示
- 21. 當應用程序死亡時收到的iOS無聲通知
- 22. 關閉應用程序時更新徽章號碼
- 23. 清除當地通知的應用程序徽章
- 24. 僅當應用程序處於前臺時纔會收到Android通知
- 25. 創建通知,當應用程序在後臺,Android的
- 26. 當應用程序關閉或應用程序在後臺時獲取兩次GCM PUSH通知
- 27. 檢索應用程序在後臺時收到的通知列表
- 28. 在午夜使用選項更新應用程序徽章:應用程序未啓動或在後臺,徽章號碼可能會減少
- 29. 用於後臺應用程序的Facebook應用程序認證
- 30. PhoneGap應用程序上的Facebook應用程序設置
我,就在昨天在應用程序圖標上實現了徽章號碼顯示,但我使用的是FCM。 – Avi
我使用https://github.com/leolin310148/ShortcutBadger庫在應用程序圖標上顯示徽章。 – Avi
是的,react-native-fcm也使用FCM服務。問題是onMessageReceived不會在應用程序被終止或在後臺調用。 – Zwe