ShareSDK Android接入cocos2d-X lua

1.      安装jdk 配置环境

JAVA_HOME  jdk目录

Path                   %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

classPath         .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

2.安装eclipse(解压)

3.sdk安装 、ndk安装(解压就好)

4.adt下载

5.配置adt

         打开eclipse ->点击Help ->Install New SoftWare -> add

         name(随便起) 路径选择adt压缩包安装、软件重启

6.配置sdk、ndk

         打开eclipse ->点击Window->Preferences->Android-> 配置SDK

         打开eclipse ->点击Window->Preferences->Android-> 子目录NDK ->配置NDK

7.下载ShareSDK(要和项目放在同一盘符下)

8.在eclipse中导入项目、导入ShareSDK(默认就是库的形式)(可以删除不必要的平台)

        

9.在自己的项目中导入ShareSDK

10.配置AndroidManifest.xml权限文件

         1.添加权限(重复的删除)

                   <uses-permissionandroid:name="android.permission.GET_TASKS" />
                   <uses-permissionandroid:name="android.permission.INTERNET" />
                   <uses-permissionandroid:name="android.permission.ACCESS_WIFI_STATE" />
                   <uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE" />
                   <uses-permissionandroid:name="android.permission.CHANGE_WIFI_STATE" />
                   <uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE" />
                   <uses-permissionandroid:name="android.permission.READ_PHONE_STATE" />
                   <uses-permissionandroid:name="android.permission.MANAGE_ACCOUNTS"/>
                   <uses-permissionandroid:name="android.permission.GET_ACCOUNTS"/>
                   <!-- 蓝牙分享所需的权限 -->
                   <uses-permissionandroid:name="android.permission.BLUETOOTH" />
                   <uses-permissionandroid:name="android.permission.BLUETOOTH_ADMIN" />

         2.添加activity信息 (tencent后面的appid要保持和您配置的QQappid一致)

  

                          <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" />
                                 <category android:name="android.intent.category.DEFAULT"/>
                              </intent-filter>
 
                              <!-- 调用新浪原生SDK,需要注册的回调activity -->
                              <intent-filter>
                                 <action android:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY"/>
                                 <category android:name="android.intent.category.DEFAULT"/>
                              </intent-filter>
                          </activity>

3.如果您集成了微信,易信,新浪微博支付宝还需要添加下面回调的activity处理;

<!--微信分享回调 -->

 <span style="white-space:pre">		</span><activity
    <span style="white-space:pre">			</span>android:name=".wxapi.WXEntryActivity"
    <span style="white-space:pre">			</span>android:theme="@android:style/Theme.Translucent.NoTitleBar"
    <span style="white-space:pre">			</span>android:configChanges="keyboardHidden|orientation|screenSize"
    <span style="white-space:pre">			</span>android:exported="true"
    <span style="white-space:pre">			</span>android:screenOrientation="portrait" />
 
<span style="white-space:pre">		</span><!--易信分享回调 -->
 <span style="white-space:pre">		</span><activity
    <span style="white-space:pre">			</span>android:name=".yxapi.YXEntryActivity"
    <span style="white-space:pre">			</span>android:theme="@android:style/Theme.Translucent.NoTitleBar"
    <span style="white-space:pre">			</span>android:configChanges="keyboardHidden|orientation|screenSize"
    <span style="white-space:pre">			</span>android:exported="true"
    <span style="white-space:pre">			</span>android:screenOrientation="portrait" />
 
 <span style="white-space:pre">		</span><!-- 支付宝分享回调 -->
<span style="white-space:pre">		</span><activity
   <span style="white-space:pre">			</span>android:name=".apshare.ShareEntryActivity"
    <span style="white-space:pre">			</span>android:theme="@android:style/Theme.Translucent.NoTitleBar"
   <span style="white-space:pre">			</span>android:configChanges="keyboardHidden|orientation|screenSize"
<span style="white-space:pre">			</span>android:exported="true"/>


11.添加一键分享代码

 

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


12.配置各平台配置信息 介绍两种方法

         1. ShareSDK.xml配置(参考\ShareSDK for Android\Res\ShareSDK.xml

<span style="white-space:pre">		</span><ShareSDK     AppKey="填写您在ShareSDK上注册到的AppKey"/>
<span style="white-space:pre">		</span><SinaWeibo    
<span style="white-space:pre">			</span>SortId="此平台在您分享列表中的位置,整型,数值越大越靠后"    
<span style="white-space:pre">			</span>AppKey="填写您在新浪微博上注册到的AppKey"    
<span style="white-space:pre">			</span>AppSecret="填写您在新浪微博上注册到的AppSecret"    
<span style="white-space:pre">			</span>Id="自定义字段,整型,用于您项目中对此平台的识别符"    
<span style="white-space:pre">			</span>RedirectUrl="填写您在新浪微博上注册的RedirectUrl"    
<span style="white-space:pre">			</span>ShareByAppClient="是否使用客户端进行分享"    
<span style="white-space:pre">			</span>Enable="布尔值,标记此平台是否有效"/>


       2.代码配置(各平台)参数参考ShareSDK.xml

<span style="white-space:pre">	</span>ShareSDK.initSDK(Context,"你的应用在Sharesdk注册时返回的AppKey");
<span style="white-space:pre">	</span>HashMap<String,Object> hashMap = new HashMap<String,Object>();    
<span style="white-space:pre">	</span>hashMap.put("Id","1");    
<span style="white-space:pre">	</span>hashMap.put("SortId","1");    
<span style="white-space:pre">	</span>hashMap.put("AppKey","568898243");    
<span style="white-space:pre">	</span>hashMap.put("AppSecret","38a4f8204cc784f81f9f0daaf31e02e3");   
<span style="white-space:pre">	</span>hashMap.put("RedirectUrl","http://www.sharesdk.cn");    
<span style="white-space:pre">	</span>hashMap.put("ShareByAppClient","true");    
<span style="white-space:pre">	</span>hashMap.put("Enable","true");    
<span style="white-space:pre">	</span>ShareSDK.setPlatformDevInfo(SinaWeibo.NAME,hashMap);


13.在lua客户端调用显示广告

 

       local luaj = require "cocos.cocos2d.luaj"
       local className = "com/locojoytj/sdk/Lua2Java"  --java类名
       local sigs = "(Ljava/lang/String;)Ljava/lang/String;"        --参数类型 返回类型
       if type(args)=="table" then
           args={json.encode(args)}
       end
       local ok,ret  =luaj.callStaticMethod(className,"callJavaCommand",args,sigs)         --调用
       if ok then
           print("调用callJavaCommand方法成功!)
       else
           print("调用callJavaCommand方法失败!!!")
       end

 

 

                   

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值