HarmonyOS鸿蒙Next中应用接续之后如何在Component中取到传过来的数据?

HarmonyOS鸿蒙Next中应用接续之后如何在Component中取到传过来的数据? 应用接续之后如何在Component中取到传过来的数据?

3 回复

可以将want的参数传入到onWindowStageCreate中,在load页面时将参数作为参数传进去

页面可以通过下面方式获取:

aboutToAppear(): void {
    let storageProcess = LocalStorage.getShared()
    let a = storageProcess.get("storageSimpleProp") as number
    console.log("LXG " + a);
}

更多关于HarmonyOS鸿蒙Next中应用接续之后如何在Component中取到传过来的数据?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,应用接续后,若要在Component中获取传递的数据,可以通过AbilityContext中的startAbilityForResult方法启动目标Ability,并在onAbilityResult回调中接收返回的数据。具体步骤如下:

  1. 启动Ability并传递数据: 使用startAbilityForResult方法启动目标Ability,并通过Intent对象传递数据。例如:

    let intent = {
        bundleName: 'com.example.targetAbility',
        abilityName: 'TargetAbility',
        data: {
            key: 'value'
        }
    };
    this.context.startAbilityForResult(intent, 0);
    
  2. 在目标Ability中处理数据: 目标Ability通过onCreateonNewIntent方法接收传递的数据,并可以在处理完成后通过setResult方法返回数据。例如:

    onNewIntent(intent) {
        let data = intent.data;
        // 处理数据
        this.setResult(0, {
            data: {
                resultKey: 'resultValue'
            }
        });
        this.terminateSelf();
    }
    
  3. 在源Ability中接收返回的数据: 源Ability通过onAbilityResult方法接收目标Ability返回的数据。例如:

    onAbilityResult(requestCode, resultCode, data) {
        if (resultCode === 0) {
            let result = data.result;
            // 处理返回的数据
        }
    }
    

通过以上步骤,可以在Component中获取到应用接续后传递的数据。

在HarmonyOS鸿蒙Next中,应用接续后可以通过Intent来获取传递的数据。在ComponentonStart方法中,使用getIntent()获取Intent对象,然后通过IntentgetStringExtra()getIntExtra()等方法获取具体数据。例如:

@Override
protected void onStart(Intent intent) {
    super.onStart(intent);
    String data = intent.getStringExtra("key");
}

确保在启动Component时,数据已通过Intent正确传递。

回到顶部