HarmonyOS鸿蒙Next中跳转到搜索

HarmonyOS鸿蒙Next中跳转到搜索

本节演示,如何通过设置Intent,来从当前应用跳转到搜索。

创建应用

创建名为IntentOperationWithActionSearch的应用。

修改MainAbilitySlice

修改MainAbilitySlice代码如下:

package com.waylau.hmos.intentoperationwithactionsearch.slice;

import com.waylau.hmos.intentoperationwithactionsearch.ResourceTable;
import ohos.aafwk.ability.AbilitySlice;
import ohos.aafwk.content.Intent;
import ohos.aafwk.content.Operation;
import ohos.agp.components.Text;
import ohos.hiviewdfx.HiLog;
import ohos.hiviewdfx.HiLogLabel;
import ohos.utils.IntentConstants;
import ohos.utils.net.Uri;

public class MainAbilitySlice extends AbilitySlice {
    private static final String TAG = MainAbilitySlice.class.getSimpleName();
    private static final HiLogLabel LABEL_LOG =
        new HiLogLabel(HiLog.LOG_APP, 0x00001, TAG);

    @Override
    public void onStart(Intent intent) {
        super.onStart(intent);
        super.setUIContent(ResourceTable.Layout_ability_main);

        // 添加点击事件来触发请求
        Text text = (Text) findComponentById(ResourceTable.Id_text_helloworld);
        text.setClickedListener(listener -> this.goToSearch());
    }

    private void goToSearch() {
        HiLog.info(LABEL_LOG, "before goToSearch");
        Intent intent = new Intent();
        Operation operation = new Intent.OperationBuilder()
            .withAction(IntentConstants.ACTION_SEARCH) // 系统应用搜索
            .build();
        intent.setOperation(operation);

        // 启动Ability
        startAbility(intent);
    }

    @Override
    public void onActive() {
        super.onActive();
    }

    @Override
    public void onForeground(Intent intent) {
        super.onForeground(intent);
    }
}

上述代码

  • 对默认生成的Id_text_helloworld文本设置点击事件,点击则会执行goToSearch方法。
  • goToSearch构建了Intent,该对象指明了withAction为搜索。搜索的Action常量值定义在IntentConstants.ACTION_SEARCH中。
  • 使用startAbility方法来启动Ability。

运行

运行应用,界面显示如下。点击“Hello World”文本,触发点击事件。

此时,界面切换到了搜索界面,如下。

用户可以根据上述界面所提供的具备搜索的应用来执行下步搜索操作。

源码

上述示例源码,可以在https://github.com/waylau/harmonyos-tutorial仓库找到。

5 回复

支持大佬,对我很有收获,期待你更多好的作品

更多关于HarmonyOS鸿蒙Next中跳转到搜索的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


多些支持,可以关注后续更新~

学习了,回头自己试试看

多谢支持,可关注后续更新

在HarmonyOS(鸿蒙)Next中,跳转到搜索功能可以通过调用系统提供的Intent来实现。你可以使用Intent对象,设置其actionIntent.ACTION_SEARCH,并通过startAbility方法启动搜索功能。示例代码如下:

Intent intent = new Intent();
intent.setAction(Intent.ACTION_SEARCH);
startAbility(intent);

这样,系统将启动默认的搜索界面,用户可以在其中输入搜索内容。根据应用需求,你还可以通过Intent传递额外的参数,如搜索查询字符串等。

回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!