当启动小程序时,如小程序未下载到设备,小程序容器会启动加载页(如下图)提示用户等待,待小程序安装到设备上,加载页关闭并跳转至小程序。

实现自定义加载页
对于 Android 小程序,mPaaS 支持开发者自定义加载页内容,您可按照以下步骤进行配置:
实现
MPTinyBaseIntermediateLoadingView类,该类实现的 View 会被插入到加载页所在的 Activity 中,接入方只需处理页面展示即可。代码示例如下:package com.mpaas.demo.nebula;import android.content.Context;import android.util.AttributeSet;import android.view.LayoutInflater;import android.widget.TextView;import com.mpaas.nebula.adapter.api.MPTinyBaseIntermediateLoadingView;public class TinyStartupLoadingView extends MPTinyBaseIntermediateLoadingView {private TextView tvAppName;private TextView tvAppId;private TextView tvTips;public TinyStartupLoadingView(Context context) {super(context);init();}public TinyStartupLoadingView(Context context, AttributeSet attrs) {super(context, attrs);init();}public TinyStartupLoadingView(Context context, AttributeSet attrs, int defStyleAttr) {super(context, attrs, defStyleAttr);init();}private void init() {LayoutInflater.from(getContext()).inflate(R.layout.activity_loading, this, true);tvAppName = (TextView) findViewById(R.id.app_name);tvAppId = (TextView) findViewById(R.id.app_id);tvTips = (TextView) findViewById(R.id.tv_tips);}/*** 初始化时调用,会传入小程序的应用 ID。其他信息,如名称、应用图标、版本等,可能为空。*/@Overridepublic void initView(AppInfo info) {tvAppName.setText(info.appName);tvAppId.setText(info.appId);tvTips.setText("loading");}/*** 获取小程序失败时调用*/@Overridepublic void onError() {tvTips.setText("fail");}/*** 拉取到小程序应用信息时调用,可获取应用 ID、名称、图标和版本信息*/@Overridepublic void update(AppInfo info) {tvAppName.setText(info.appName);tvAppId.setText(info.appId);}}
在小程序启动前,例如应用初始化时,开启自定义配置,代码示例如下:
MPTinyHelper.getInstance().setLoadingViewClass(TinyStartupLoadingView.class);
如果在自定义加载页中需要对其宿主的 Activity 进行操作,例如中断加载过程返回至上一页,可以通过基类方法
getLoadingActivity()获取宿主 Activity。需注意进行判空处理。
该文章对您有帮助吗?