HarmonyOS鸿蒙Next中flutter项目从浏览器通过scheme拉起应用后,发现应用退到后台打开后自动跳转到设置页的问题,不知道怎么解决

HarmonyOS鸿蒙Next中flutter项目从浏览器通过scheme拉起应用后,发现应用退到后台打开后自动跳转到设置页的问题,不知道怎么解决 flutter项目,从浏览器通过scheme拉起应用后,发现应用退到后台打开后自动跳转到设置页的问题,将改成下面这种就无法通过scheme拉起应用了,不改的话就一直自动跳转到设置页,请问怎么修改,既能通过scheme拉起应用又不跳转设置页的问题

1.改成这种就无法通过scheme拉起应用了

"skills": [
          {
            "entities": ["entity.system.home"],
//            entities: ['entity.system.browsable'],
            "actions": ["ohos.want.action.home"],

2.改成这种自动跳转到设置页

cke_380.png


更多关于HarmonyOS鸿蒙Next中flutter项目从浏览器通过scheme拉起应用后,发现应用退到后台打开后自动跳转到设置页的问题,不知道怎么解决的实战教程也可以访问 https://www.itying.com/category-92-b0.html

3 回复

将两个配置共存,同时写在actions和entities中;代码修改如下

cke_193.png

更多关于HarmonyOS鸿蒙Next中flutter项目从浏览器通过scheme拉起应用后,发现应用退到后台打开后自动跳转到设置页的问题,不知道怎么解决的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


在鸿蒙Next中,Flutter应用通过scheme拉起后返回后台再打开跳转到设置页,通常是权限配置问题。检查应用配置文件中的ohos.permission.START_ABILITIES_FROM_BACKGROUND权限是否已声明。同时确认scheme拉起的目标Ability配置正确,避免因权限缺失导致系统默认跳转至设置页。

这个问题通常是由于HarmonyOS Next中URI拉起应用的启动模式配置不当导致的。根据你提供的配置信息,核心问题在于skills中的entitiesactions配置。

解决方案:

  1. 正确的配置方式:
"skills": [
  {
    "entities": ["entity.system.browsable"],
    "actions": ["ohos.want.action.viewData"],
    "uris": [
      {
        "scheme": "your_scheme",
        "host": "your_host",
        "port": "your_port",
        "path": "your_path",
        "type": "text/*"
      }
    ]
  }
]
  1. 关键配置说明:

    • entities: ["entity.system.browsable"]:这是浏览器拉起应用的标准配置
    • actions: ["ohos.want.action.viewData"]:使用viewData动作而非home动作
    • 确保uris中正确配置了你的scheme协议
  2. Flutter侧处理: 在Flutter的main.dart中,需要正确处理URI路由:

void main() {
  // 初始化URI路由监听
  Uri uri = Uri.parse(window.location.href);
  if (uri.scheme == 'your_scheme') {
    // 处理scheme拉起逻辑
    _handleDeepLink(uri);
  }
  
  runApp(MyApp());
}
  1. 避免跳转到设置页: 自动跳转到设置页通常是因为应用无法正确处理scheme拉起后的返回栈。确保:

    • 应用被拉起后能正确显示目标页面
    • 应用退到后台再打开时,保持当前页面状态
    • 不要使用ohos.want.action.home动作,这可能导致系统误判
  2. 测试建议:

    • 清除应用数据重新安装
    • 使用ohos.want.action.viewData替代ohos.want.action.home
    • 确保浏览器中点击链接能正常拉起应用到指定页面

这种配置既能保证通过scheme正常拉起应用,又能避免应用退到后台后自动跳转到设置页的问题。

回到顶部