-1

當我的應用程序在前臺,然後通知url鏈接自動打開,無需用戶的任何貢獻。當應用程序在前臺通知包含自動打開

現在,我想在通知欄中保留通知,並且當用戶按下將打開url鏈接的通知時。 還有一件事我不得不提,當我的應用程序在後臺工作正常。通知到達通知欄。 我想要爲前景做同樣的事情。

請幫忙, 在此先感謝。

FirebaseMessagingServices

public class MyFirebaseMessagingService extends FirebaseMessagingService { 

private static final String TAG = "MyFirebaseMsgService"; 

@Override 
public void onMessageReceived(RemoteMessage remoteMessage) { 

    if(remoteMessage.getData().size()>0){ 
     String url = remoteMessage.getData().get("url"); 
     Intent intent = new Intent("com.bellecarib_FCM-MESSAGE"); 

     intent.putExtra("url",url); 

     LocalBroadcastManager localBroadcastManager = LocalBroadcastManager.getInstance(this); 
     localBroadcastManager.sendBroadcast(intent); 
    } 

} 

這裏是我的MainActivity代碼

 LocalBroadcastManager.getInstance(this).registerReceiver(mHandler, new IntentFilter("com.bellecarib_FCM-MESSAGE")); 


if(getIntent().getExtras() != null){ 
     for(String key: getIntent().getExtras().keySet()){ 
      if(key.equals(("url"))){ 
       mwebView.loadUrl(getIntent().getExtras().getString(key)); 
       Toast.makeText(getApplicationContext(),"Opening The Notification Page",Toast.LENGTH_LONG).show(); 
      } 

     } 

    } 
+0

首先,從您粘貼不能看到你扔一個通知代碼。改述你的問題。當你收到消息時你想要發出通知嗎? – Dibzmania

+0

我收到前臺和後臺的應用程序通知。 –

+0

但是當我的應用程序在前臺通知包含直接打開沒有它在通知欄中處理。我想保持在通知欄中的通知,然後當用戶按通知時,它會打開,如同它在後臺應用程序打開。謝謝 –

回答

0

您所看到的行爲,是當你從FCM發送通知的有效載荷。如果您想要自定義行爲,那麼只發送數據有效負載,並在收到消息時手動發出通知。這意味着您的應用需要更多工作(以自定義爲代價)。此外,數據有效載荷以正常優先級提供,這意味着如果您的設備處於空閒模式,則FCM數據有效負載消息不會立即傳送並推遲到下一個維護時段(在Android待機模式和應用待機模式下讀取)。

希望這是明確的

+0

你能否給我提供任何源代碼?實際上我是初學者,所以我不能通過我自己的代碼來實現代碼...謝謝你的回答 –

相關問題