tencent cloud

文档反馈

最后更新时间:2024-03-04 22:43:53

    操作步骤

    1. 通过 MiniAppProxyImpl,在胶囊控制面板中添加自定义分享 Item。
    private static final String SHARE_TWITTER = "twitter";
    
    /**
    * 返回自定义分享数据Map
    * 调用环境:子进程
    *
    * key:与getMoreItems方法中添加的MoreItem.id一致
    * value:与getMoreItems方法中添加的MoreItem.shareKey一致
    * @return
    */
    @Override
    public Map<String, Integer> getCustomShare(){
    Map<String, Integer> objects = new HashMap<>();
    objects.put(SHARE_TWITTER, ShareProxyImpl.OTHER_MORE_ITEM_2);
    return objects;
    }
    
    /**
    * 返回胶囊更多面板的按钮,扩展按钮的ID需要设置为[100, 200]这个区间中的值,否则,添加无效
    * 调用环境:子进程
    *
    * @param miniAppContext 小程序运行环境(小程序进程,非主进程)
    * @param builder
    * @return
    */
    @Override
    public ArrayList<MoreItem> getMoreItems(IMiniAppContext miniAppContext, MoreItemList.Builder builder) {
    MoreItem item2 = new MoreItem();
    item2.id = ShareProxyImpl.OTHER_MORE_ITEM_2;
    item2.text = getString(miniAppContext,
    R.string.applet_mini_proxy_impl_other2);
    item2.shareKey = SHARE_TWITTER;//自定义分享的key,必须设置且唯一,与小程序端调用控制设置时会使用到
    item2.drawable = R.mipmap.mini_demo_about;
    
    builder.addMoreItem(item2)
    return builder.build();
    }
    2. 如需创建胶囊,可在更多面板中,单击监听器
    /**
    * 返回胶囊更多面板按钮单击监听器
    *
    * @return
    */
    @Override
    public OnMoreItemSelectedListener getMoreItemSelectedListener() {
    return new DemoMoreItemSelectedListener();
    }
    
    public class DemoMoreItemSelectedListener extends DefaultMoreItemSelectedListener {
    public static final int CLOSE_MINI_APP = 150;
    
    @Override
    public void onMoreItemSelected(IMiniAppContext miniAppContext, int moreItemId) {
    //处理开发者自定义点击事件(自定义分享事件除外)
    switch (moreItemId) {
    case CLOSE_MINI_APP:
    close(miniAppContext);
    return;
    case OTHER_MORE_ITEM_1:
    miniAppContext.getAttachedActivity().runOnUiThread(new Runnable() {
    @Override
    public void run() {
    Toast.makeText(miniAppContext.getAttachedActivity(), "custom menu click", Toast.LENGTH_SHORT).show();
    }
    });
    return;
    }
    
    //处理内置分享和开发者自定义分享,例如:微博、twitter等
    super.onMoreItemSelected(miniAppContext, moreItemId);
    }
    }
    3. 按照如下类型接收分享,单击事件,开发人员在 share 方法中可以获取到分享数据,并调用第三方 SDK 实现分享。
    说明:
    如果在胶囊菜单自定义按钮,请参见 自定义胶囊
    @ProxyService(proxy = ShareProxy.class)
    public class ShareProxyImpl extends BaseShareProxy {
    /**
    * 分享
    *
    * @param shareData 分享数据
    */
    @Override
    public void share(Activity activity, ShareData shareData) {
    }
    }
    
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持