一、背景

最近做推送的通知点击,通知是直接用的系统通知,点击需要跳转到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

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐