开发

打开应用接口说明

功能说明

智能小程序框架提供打开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

  1. isAllowedOpenApp可以控制是否可以进行外跳app的能力,比如爱奇艺,小红书等app的外跳逻辑,如果开关置为false,则跳转app逻辑完全被禁止,默认开关为true,可以通过宿主自实现接口来修改结果值
  2. isAllowedOpenBaiduApp可以控制是否打开百度app,可以由宿主控制,如果开关置为false,则不会走到调起百度app的模块,默认开关为true,可以通过宿主自实现接口来修改结果值
  3. openApp方法为跳转app的具体实现类,宿主接入方可以通过实现该方法来细粒度的控制小程序跳转app逻辑,具体参数含义如下:
参数名 说明
context 上下文对象,activity或者application
intent 完整调起信息,已经封装为intent格式
appKey 小程序appkey标示,可以唯一确定是哪个小程序作为调起来源
scheme scheme调起信息,可能为空
packageName 目标app包名信息,用在直接通过包名调起的场景,可能为空

scheme和packageName不会同时为空

如何复写实现接口

除了要实现ISwanOpenAppConfig接口,在实现类上面要打@Service标签(com.baidu.pyramid.annotation.Service),此时该接口才可以被成功复写