当我的应用程序处于前台时,通知网址链接会自动打开而无需用户的任何贡献。
现在,我想在通知栏中保留通知,当用户按下将打开网址链接的通知时。 还有一件事我要提一下,当我的应用程序在后台工作正常。通知到达通知栏。 我想为前景做同样的事情。
请帮忙, 提前谢谢。
我的 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 :(得分:0)
您看到的行为是从FCM发送通知有效内容。如果您想要自定义行为,则只发送数据有效负载,并在收到消息时手动发出通知。这意味着您的应用程序需要更多工作(以定制为代价)。此外,数据有效负载以正常优先级传送,这意味着如果您的设备处于空闲模式,则FCM数据有效负载消息不会立即传送,并推迟到下一个维护时段(在Android Doze模式和App Standby上读取)。
希望这很清楚