android 微信分享

最近开发用到了微信分享,写个博客梳理一下。

  • 申请APPID

    wxc5d8ca348955ced1

  • 导入jar包

    libammsdk.jar

  • Manifest.xml文件添加权限

<uses-permission android:name="android.permission.INTERNET"/>   
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>   
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>   
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>  
 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>   
  • 代码示例
    private IWXAPI api;

注册APP_ID

api = WXAPIFactory.createWXAPI(this, APP_ID);
api.registerApp(APP_ID);

分享到朋友圈 flag:0好友,1朋友圈。

private void weChatshare(int flag) {
    //判断是否按照微信客户端
        if (!api.isWXAppInstalled()) {
            showToast(getString(R.string.no_install_wechat_cli));
            return;
        }
        WXWebpageObject webpage = new WXWebpageObject();
        webpage.webpageUrl = AccountManager.DOWNLOAD_URL;
        WXMediaMessage msg = new WXMediaMessage(webpage);
        msg.title = getString(R.string.app_name);
        msg.description = getString(R.string.share_description_text);
        Bitmap thumb = BitmapFactory.decodeResource(getResources(), R.drawable.ic);
        msg.setThumbImage(thumb);

        SendMessageToWX.Req req = new SendMessageToWX.Req();
        req.transaction = String.valueOf(System.currentTimeMillis());
        req.message = msg;
        req.scene = flag == 0 ? SendMessageToWX.Req.WXSceneSession : SendMessageToWX.Req.WXSceneTimeline;
        api.sendReq(req);
    }

分享回调

Manifest.xml文件配置

<activity
            android:name=".wxapi.WXEntryActivity"
            android:configChanges="keyboard|keyboardHidden|orientation"
            android:exported="true"
            android:launchMode="singleInstance"
            android:screenOrientation="portrait"/>

在工程目录下创建wxapi文件夹,然后创建WXEntryActivity.java文件

public class WXEntryActivity extends BaseActivity implements IWXAPIEventHandler {
    private IWXAPI api;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_wx);
        api = WXAPIFactory.createWXAPI(this, Constants.APP_ID,false);
        api.handleIntent(getIntent(), this);
    }
    @Override
    public void onReq(BaseReq arg0) {
    }

    @Override
    public void onResp(BaseResp resp) {
        switch (resp.errCode) {
            case BaseResp.ErrCode.ERR_OK:
                showToast("分享成功");
                System.out.println("success");
                this.finish();
                //分享成功
                break;
            case BaseResp.ErrCode.ERR_USER_CANCEL:
                //分享取消
                showToast("分享取消");
                System.out.println("ERR_USER_CANCEL");
                this.finish();
                break;
            case BaseResp.ErrCode.ERR_AUTH_DENIED:
                showToast("分享拒绝");
                System.out.println("ERR_AUTH_DENIED");
                this.finish();
                //分享拒绝
                break;
        }
    }
}
Android平台上,我们可以使用微信的开放API来实现分享PDF文件的功能。 首先,我们需要在应用程序中添加微信SDK,并进行相关的配置。然后,在需要分享PDF文件的地方,首先需要将PDF文件转换为Bitmap或者图片格式。可以使用第三方的PDF库或者使用系统提供的API来实现这个功能。 接下来,我们可以使用微信SDK提供的API来创建一个分享消息的对象,设置分享的标题、描述和缩略图。然后,我们将转换后的PDF文件图片作为图片数据,添加到分享消息对象中。最后,调用微信SDK的分享API,将分享消息发送给微信。 在分享的过程中,我们需要确保用户已经安装了微信客户端,并且已经登录了微信账号。如果用户没有安装微信客户端,我们可以引导用户去下载安装。如果用户没有登录微信账号,我们也需要提醒用户登录才能完成分享。 需要注意的是,在使用微信SDK进行分享时,我们需要遵循微信的开放API规范和相关使用协议,确保不违反微信的相关规定。同时,我们还需要处理分享过程中可能出现的异常情况,比如网络连接失败、微信客户端无法访问等情况,给用户一个友好的提示。 总的来说,通过使用微信SDK以及合适的转换工具,我们可以在Android平台上实现分享PDF文件给微信的功能。这样,用户就可以方便地将PDF文件分享给好友或者群组,提供更便捷的交流和共享方式。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值