-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

你能否给我提供任何源代码?实际上我是初学者,所以我不能通过我自己的代码来实现代码...谢谢你的回答 –

相关问题