关于ShareSDK 微信分享

最近闲时就捣鼓了关于ShareSDK 的微信分享

  • 登录shareSDK官网 http://www.mob.com/#/ 进行下载我们所需要的ShareSDK (点击ShareSDK For Android )。
    这里写图片描述
    这里写图片描述
    点击进行下载
    这里写图片描述

选择所要分享的平台,因为这里我只做微信分享 所以只留了微信
这里写图片描述
下载完成之后进行解压,里面的结构应该是这样的
这里写图片描述
接下来 新建项目 我这里创建的是 WeiXinShare
在布局中放了一个button
接下来回到刚刚解压的文件中点击ShareSDK for Android这个文件夹
找到
这里写图片描述
点击jar 就可以看到这个界面
这里写图片描述
根据自己的需要选择所需要的集成平台
根据自己的项目填写项目名称与项目包名
接下来就能看到在这个文件夹中生成了一个跟自己项目名一样的文件夹我们把这个下面的所有文件 都复制到我们的这个项目中

  • 接下来我们申请appKey
    点击头像进入我的后台
    这里写图片描述
    添加我们的应用,点击添加或者应用都可以的
    这里写图片描述
    填写应用名称(随便填写都可以的,毕竟是测试)
    然后就生成一个独一无二的appkey
    接下来我们就要开始项目了
    在AndroidManifest中添加权限
 <uses-permission android:name="android.permission.GET_TASKS" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <!-- 蓝牙分享所需的权限 -->
    <uses-permission android:name="android.permission.BLUETOOTH" />
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />

然后再添加两个activity
这个是必须的否则则会报错

 <activity
            android:name="com.mob.tools.MobUIShell"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.Translucent.NoTitleBar"
            android:windowSoftInputMode="stateHidden|adjustResize" />

        <!-- 微信分享回调 -->
        <activity
            android:name=".wxapi.WXEntryActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:exported="true"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" />

在你的项目中找到assets文件 该文件夹下边有个ShareSDK.xml文件
打开修改里面AppKey 值为你在官网上边申请的appkey 替换就可以了
再找到
这里写图片描述

修改里面的BypassApproval值 修改为true 否则 分享不成功!!

好了 这下可以在项目的入口



    private Button btnShare;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        btnShare=(Button) findViewById(R.id.btnShare);

        ShareSDK.initSDK(this);

        btnShare.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                showShare();

            }
        });

    }
    private void showShare() {
         ShareSDK.initSDK(this);
         OnekeyShare oks = new OnekeyShare();
         //关闭sso授权
         oks.disableSSOWhenAuthorize(); 

        // 分享时Notification的图标和文字  2.5.9以后的版本不调用此方法
         //oks.setNotification(R.drawable.ic_launcher, getString(R.string.app_name));
         // title标题,印象笔记、邮箱、信息、微信、人人网和QQ空间使用
         oks.setTitle("分享demo");
         // titleUrl是标题的网络链接,仅在人人网和QQ空间使用
         oks.setTitleUrl("http://sharesdk.cn");
         // text是分享文本,所有平台都需要这个字段
         oks.setText("我是分享文本");
         // imagePath是图片的本地路径,Linked-In以外的平台都支持此参数
         oks.setImagePath("/sdcard/tst.jpg");//确保SDcard下面存在此张图片
         // url仅在微信(包括好友和朋友圈)中使用
         oks.setUrl("http://sharesdk.cn");
         // comment是我对这条分享的评论,仅在人人网和QQ空间使用
         oks.setComment("我是测试评论文本");
         // site是分享此内容的网站名称,仅在QQ空间使用
         oks.setSite(getString(R.string.app_name));
         // siteUrl是分享此内容的网站地址,仅在QQ空间使用
         oks.setSiteUrl("http://sharesdk.cn");

        // 启动分享GUI
         oks.show(this);
         }
}

好了 这下可以试着运行你的程序了,这个是在已经完成之后整理的,如果有什么遗漏,欢迎大家提出。
谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值