一、背景

最近做推送的通知点击,通知是直接用的系统通知,点击需要跳转到Flutter对应的界面。正常的都是使用Intent去跳转Activity。但是Flutter的跳转并没有使用自己的Activity。所以只能通过Intent发广播,然后在广播里面去跳转到Flutter界面。

二、广播遇到的坑

正常来说写个广播不是太简单了么,7.0之后广播不能静态注册,那就动态注册一波。

IntentFilter intentFilter = new IntentFilter();

intentFilter.addAction("xxx");

mContext.registerReceiver(new NotificationBroadcastReceiver(),intentFilter);

然后写个广播回调类。PendingIntent使用PendingIntent.getBroadcast。Intent的常见如下:

Intent intent1 = new Intent();

intent.setAction("xxx");

GameOver,信心满满的运行一波。结果并没有收到广播的回调。各种查找资料尝试之后发现。添加Actiion不能使用 intent.setAction,要直接把action放到创建Intent里面,如下

Intent intent = new Intent("xxx");

好了,就是个小坑记录。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐