天天看點

【HarmonyOS】【鴻蒙】Ability如何擷取AbilitySlice執行個體

1.Ability繼承自BaseAbility,在BaseAbility中維護Ability目前展示的AbilitySlice執行個體:

public class BaseAbility extends Ability {

    private AbilitySlice slice;

    @Override

    public void onStart(Intent intent) {

        super.onStart(intent);

        super.setMainRoute(BaseAbilitySlice.class.getName());

    }

    private void setCurrentSlice(AbilitySlice slice) {

        this.slice = slice;

    }

    private AbilitySlice getCurrentSlice() {

        return slice;

    }

}

2.AbilitySlice中,将自身傳遞給Ability:

@Override

    public void onStart(Intent intent) {

        super.onStart(intent);

        super.setUIContent(ResourceTable.Layout_news_detail_layout);

        if (getAbility() instanceof BaseAbility) {

            BaseAbility ability = (BaseAbility)getAbility();

            ability.setCurrentSlice(this);

        }

    }

繼續閱讀