Android分享功能的实现(shared SDK的使用)

share SDK使用步骤:(需要提醒的是微信申请appkey需要大概1周的审核时间)

这里主要用的是;Mob官网的分享SDK

1.进入官网下载SDK

2.按照MOb文档中心的Shared For Android进行集成

最容易出错的地方:

1.assets文件夹放错位置(sccesst应当在main下右键创建folder选择“assets folder”),把assets文件夹中的文件复制到刚刚创建的这个assets中

2.cn文件夹放错位置,应当放于java文件夹下,如下图所示


其中需要注意的是:

1.权限设置(必须添加)

<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" />

2.在manifest.xml中添加activity(没有的就不加)

<activity
    android:name="com.mob.tools.MobUIShell"
    android:theme="@android:style/Theme.Translucent.NoTitleBar"
    android:configChanges="keyboardHidden|orientation|screenSize"
    android:screenOrientation="portrait"
    android:windowSoftInputMode="stateHidden|adjustResize">
 
    <intent-filter>
        <dataandroid:scheme="tencent100371282"/>
        <actionandroid:name="android.intent.action.VIEW"/>
        <categoryandroid:name="android.intent.category.BROWSABLE"/>
        <categoryandroid:name="android.intent.category.DEFAULT"/>
    </intent-filter>
 
    <!--调用新浪原生SDK,需要注册的回调activity-->
    <intent-filter>
        <actionandroid:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY"/>
        <categoryandroid:name="android.intent.category.DEFAULT"/>
    </intent-filter>
</activity>
< ! --微信分享回调 -- >
< activity
     android : name = ".wxapi.WXEntryActivity"
     android : theme = "@android:style/Theme.Translucent.NoTitleBar"
     android : configChanges = "keyboardHidden|orientation|screenSize"
     android : exported = "true"
     android : screenOrientation = "portrait" / >
 
< ! --易信分享回调 -- >
< activity
     android : name = ".yxapi.YXEntryActivity"
     android : theme = "@android:style/Theme.Translucent.NoTitleBar"
     android : configChanges = "keyboardHidden|orientation|screenSize"
     android : exported = "true"
     android : screenOrientation = "portrait" / >
 
< ! -- 支付宝分享回调 -- >
< activity
     android : name = ".apshare.ShareEntryActivity"
     android : theme = "@android:style/Theme.Translucent.NoTitleBar"
     android : configChanges = "keyboardHidden|orientation|screenSize"
     android : exported = "true" / >

3.修改appkey


4.最后直接使用其中的方法即可

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(getString(R.string.share));
 // titleUrl是标题的网络链接,仅在人人网和QQ空间使用
 oks.setTitleUrl("http://sharesdk.cn");
 // text是分享文本,所有平台都需要这个字段
 oks.setText("我是分享文本");
 //分享网络图片,新浪微博分享网络图片需要通过审核后申请高级写入接口,否则请注释掉测试新浪微博
 oks.setImageUrl("http://f1.sharesdk.cn/imgs/2014/02/26/owWpLZo_638x960.jpg");
 // imagePath是图片的本地路径,Linked-In以外的平台都支持此参数
 //oks.setImagePath("/sdcard/test.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);
 }

下面是我自己写的变动,可以按自己的设想来分享自己想分享的标题,内容,url连接

public void showShare(Context context,String title,String content,String url) {
    ShareSDK.initSDK(context);
    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(title);
    // titleUrl是标题的网络链接,仅在人人网和QQ空间使用
    oks.setTitleUrl(url);
    // text是分享文本,所有平台都需要这个字段
    oks.setText(content);
    //分享网络图片,新浪微博分享网络图片需要通过审核后申请高级写入接口,否则请注释掉测试新浪微博
    oks.setImageUrl("");//这里分享图片为空http://f1.sharesdk.cn/imgs/2014/02/26/owWpLZo_638x960.jpg
    // imagePath是图片的本地路径,Linked-In以外的平台都支持此参数
    //oks.setImagePath("/sdcard/test.jpg");//确保SDcard下面存在此张图片
    // url仅在微信(包括好友和朋友圈)中使用
    oks.setUrl(url);
    // comment是我对这条分享的评论,仅在人人网和QQ空间使用
    oks.setComment("");
    // site是分享此内容的网站名称,仅在QQ空间使用
    oks.setSite("EasyBrowsing");
    // siteUrl是分享此内容的网站地址,仅在QQ空间使用
    oks.setSiteUrl("https://www.baidu.com/");

    // 启动分享GUI
    oks.show(context);
}
效果图跟Mob中的实现效果相似

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值