当前台通知中的App包含自动打开时

时间:2017-02-16 22:11:17

标签: android firebase android-notifications firebase-cloud-messaging foregroundnotification

当我的应用程序处于前台时,通知网址链接会自动打开而无需用户的任何贡献。

现在,我想在通知栏中保留通知,当用户按下将打开网址链接的通知时。 还有一件事我要提一下,当我的应用程序在后台工作正常。通知到达通知栏。 我想为前景做同样的事情。

请帮忙, 提前谢谢。

我的 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();
            }

        }

    }

1 个答案:

答案 0 :(得分:0)

您看到的行为是从FCM发送通知有效内容。如果您想要自定义行为,则只发送数据有效负载,并在收到消息时手动发出通知。这意味着您的应用程序需要更多工作(以定制为代价)。此外,数据有效负载以正常优先级传送,这意味着如果您的设备处于空闲模式,则FCM数据有效负载消息不会立即传送,并推迟到下一个维护时段(在Android Doze模式和App Standby上读取)。

希望这很清楚