打开应用接口说明
功能说明
智能小程序框架提供打开app的接口,可以由接入方接管打开app的能力,具体接口如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| ** * 调起App行为的配置类 * 具体为: * 对OpenApp能力的行为进行控制 * * @author baidu * @since 2020-11-16 */ public interface ISwanOpenAppConfig {
/** * 配置打开app能力在当前宿主是否可用 * * @return 配置是否允许打开App * true:可用 * false:不可用 */ boolean isAllowedOpenApp();
/** * 配置是否允许打开百度app * * @return 配置是否允许打开百度app,主要是web化和兜底逻辑的场景 * true:可用 * false:不可用 */ boolean isAllowedOpenBaiduApp();
/** * 调起打开app统一接口 * * @param context 上下文 * @param intent 调起信息 * @param appKey 小程序唯一标示 * @param scheme 调起scheme * @param packageName 调起app包名 * @return 是否调起成功 */ boolean openApp(Context context, Intent intent, String appKey, String scheme, String packageName);
|
是否允许打开百度app
isAllowedOpenApp可以控制是否可以进行外跳app的能力,比如爱奇艺,小红书等app的外跳逻辑,如果开关置为false,则跳转app逻辑完全被禁止,默认开关为true,可以通过宿主自实现接口来修改结果值
isAllowedOpenBaiduApp可以控制是否打开百度app,可以由宿主控制,如果开关置为false,则不会走到调起百度app的模块,默认开关为true,可以通过宿主自实现接口来修改结果值
openApp方法为跳转app的具体实现类,宿主接入方可以通过实现该方法来细粒度的控制小程序跳转app逻辑,具体参数含义如下:
| 参数名 |
说明 |
| context |
上下文对象,activity或者application |
| intent |
完整调起信息,已经封装为intent格式 |
| appKey |
小程序appkey标示,可以唯一确定是哪个小程序作为调起来源 |
| scheme |
scheme调起信息,可能为空 |
| packageName |
目标app包名信息,用在直接通过包名调起的场景,可能为空 |
scheme和packageName不会同时为空
如何复写实现接口
除了要实现ISwanOpenAppConfig接口,在实现类上面要打@Service标签(com.baidu.pyramid.annotation.Service),此时该接口才可以被成功复写