# 添加到桌面、自定义收藏(车机)

需 WMPF >= 2.1.0 支持,使用前建议阅读注意事项

本页面将指引 wmpf-cli 如何接入小程序添加到自定义收藏、小程序中心页面“添加到桌面”功能。

# 示例代码

你需要先实现 WMPFClientExportProvider 的子类。

WxaItem 定义参见 WMPFLauncherApi.getMiniProgramList.

public class ClientExportProvider extends WMPFClientExportProvider implements WMPFClientExportProvider.ProviderLogicDelegate {

    @Override
    public boolean onCreate() {
        setLogicDelegate(this);
        return true;
    }

    /**
     * @return 是否支持自定义收藏
     */
    @Override
    public boolean isCustomCollectionSupport() {
        // 返回支持自定义收藏.
        return true;
    }

    /**
     * @param appId 小程序 appId
     * @return 该小程序是否已经被添加到自定义收藏/桌面
     */
    @Override
    public boolean isCollectionAddedByAppId(String appId) {
        return /* 返回该小程序是否已经被添加到自定义收藏/桌面 */;
    }

    /**
     * 添加小程序到自定义收藏/桌面
     * @param appId 小程序 appId
     * @param item 小程序信息
     */
    @Override
    public boolean onCollectionAddRequested(String appId, WxaItem item) {
        // 这里需要实现添加小程序到自定义收藏/桌面
        return /* 操作是否成功 */;
    }

    /**
     * 从自定义收藏/桌面删除小程序
     * @param appId 小程序 appId
     */
    @Override
    public boolean onCollectionRemoveRequested(String appId) {
        // 这里需要从自定义收藏/桌面删除小程序
        return /* 操作是否成功 */;
    }
}

接着在 AndroidManifest.xml 内注册 ContentProvider.

注意:下面示例代码中的"应用包名"需要替换成你的应用包名。

<manifest>
    <application>
        <provider
            android:name=".ClientExportProvider"
            android:authorities="应用包名.WMPFClientExportProvider"
            android:enabled="true"
            android:exported="true"
            tools:ignore="ExportedContentProvider" />
    </application>
</manifest>

# 注意

  • 通过 activateDevice 接口连接上 WMPF 之后,WMPF 才能找到这个 ContentProvider.