谈一谈关于卡片保活的问题

用service启动的卡片服务,然后卡片的信息刷新过了一段时间就停止了,有什么办法能保活能持久的呢?我看系统的时钟卡片是可以一直运行的
 

鸿蒙
卡片激活
HarmonyOS
2021-12-03 11:41:18
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
walpo
3

由于服务卡片没有提供卡片应用保活的功能,因此如果回到桌面,系统会回收卡片应该的资源,导致ServiceAbility中的定时器停止,最终出现卡片更新停止的问题。因此我们可以通过前台service来保证应用一直运行,参考代码如下:

// foreground service 

private void notice() { 

    // 创建通知 

    NotificationRequest request = new NotificationRequest(NOTICE_ID); 

    request.setAlertOneTime(true); 

    NotificationRequest.NotificationNormalContent content = new NotificationRequest.NotificationNormalContent(); 

    content.setText(NOTICE); 

    NotificationRequest.NotificationContent notificationContent 

            = new NotificationRequest.NotificationContent(content); 

    request.setContent(notificationContent); 

    // 绑定通知 

    keepBackgroundRunning(NOTICE_ID, request); 

}

修改config.json文件,"module > abilities"字段下当前Service的配置,如下:

  "name": "com.huawei.cookbook.ServiceAbility", 

  "icon": "$media:icon", 

  "description": "$string:serviceability_description", 

  "type": "service", 

  "visible": true, 

  "backgroundModes": [ 

    "dataTransfer", 

    "location" 

  ] 

}

在ServiceAbility的onStart方法中调用此方法即可。如果想在杀掉应用进程(即执行从手机底部上划),关闭应用后仍然可以刷新,可以尝试通过手机管家->应用启动管理->电影卡片应用->允许后台活动即可。

分享
微博
QQ
微信
回复
2021-12-03 14:34:46
相关问题
谈一关于跨端迁移问题
2268浏览 • 2回复 待解决
关于Websocket问题
1669浏览 • 1回复 待解决
关于数据存储问题
1694浏览 • 2回复 待解决
关于安装包问题
2965浏览 • 2回复 待解决
关于鸿蒙BLE问题
360浏览 • 1回复 待解决
关于流转问题咨询
2349浏览 • 1回复 待解决
关于华为应用级AT问题
6427浏览 • 3回复 待解决
问大家问题关于原服务
2107浏览 • 1回复 待解决
关于鸿蒙和uboot间问题
5230浏览 • 2回复 待解决
关于liteos-a问题想请教各位
4157浏览 • 2回复 待解决
关于属性动画问题
5314浏览 • 3回复 待解决
关于Tcp 5037直连接不上问题
2438浏览 • 1回复 待解决
关于烧录时出现问题
5140浏览 • 2回复 待解决
关于Java UI Checkbox问题?
1972浏览 • 1回复 待解决
关于鸿蒙module依赖问题
5189浏览 • 1回复 待解决
关于picker-view问题
2673浏览 • 1回复 待解决
关于如何获取时钟id问题
1993浏览 • 1回复 待解决
关于WebView报空指针问题
2274浏览 • 1回复 待解决
关于鸿蒙OS蓝牙API问题
1272浏览 • 1回复 待解决
关于SharedPreferences问题谁知道?
1098浏览 • 1回复 待解决
关于 JS UI 开发应用问题
1587浏览 • 1回复 待解决
鸿蒙JS服务卡片背景模糊无效问题
2036浏览 • 1回复 待解决
关于xml中include使用问题
3576浏览 • 2回复 待解决