调用ShareSDK第三方分享

调用ShareSDK第三方分享

1.如何在mob创建应用

http://bbs.mob.com/forum.php?mod=viewthread&tid=8212&extra=page%3D1

2.快速集成指南

   http://wiki.mob.com/Android_%E5%BF%AB%E9%80%9F%E9%9B%86%E6%88%90%E6%8C%87%E5%8D%97/

3.操作Demo地址

     http://bbs.mob.com/thread-22130-1-1.html


4.我在操纵完后运行报一下错

09-25 03:17:39.202 7602-7609/? E/jdwp: jdwp::setsockopt(SO_SNDTIMEO)
09-25 03:17:39.202 7602-7609/? E/jdwp: jdwp::setsockopt(SO_RCVTIMEO)
09-25 03:17:39.269 530-3778/? E/PerfService: perfBoostEnable bypassed!
09-25 03:17:39.715 530-3773/? E/PerfService: perfBoostDisable bypassed!
09-25 03:17:39.773 530-546/? E/PerfService: perfBoostEnable bypassed!
09-25 03:17:39.781 7678-7685/? E/jdwp: jdwp::setsockopt(SO_SNDTIMEO)
09-25 03:17:39.781 7678-7685/? E/jdwp: jdwp::setsockopt(SO_RCVTIMEO)
09-25 03:17:39.872 7689-7689/? E/AndroidRuntime: FATAL EXCEPTION: main
                                                 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.zj.text/com.zj.text.MainActivity}: java.lang.RuntimeException: The param of context is null which in ShareSDK.initSDK(context)!
                                                     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2308)
                                                     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
                                                     at android.app.ActivityThread.access$600(ActivityThread.java:156)
                                                     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1342)
                                                     at android.os.Handler.dispatchMessage(Handler.java:99)
                                                     at android.os.Looper.loop(Looper.java:153)
                                                     at android.app.ActivityThread.main(ActivityThread.java:5315)
                                                     at java.lang.reflect.Method.invokeNative(Native Method)
                                                     at java.lang.reflect.Method.invoke(Method.java:511)
                                                     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
                                                     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
                                                     at dalvik.system.NativeStart.main(Native Method)
                                                  Caused by: java.lang.RuntimeException: The param of context is null which in ShareSDK.initSDK(context)!
                                                     at cn.sharesdk.framework.ShareSDK.initSDK(Unknown Source)
                                                     at cn.sharesdk.framework.ShareSDK.initSDK(Unknown Source)
                                                     at com.zj.text.MainActivity.onCreate(MainActivity.java:22)
                                                     at android.app.Activity.performCreate(Activity.java:5232)
                                                     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1081)
                                                     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2272)
                                                     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360) 
                                                     at android.app.ActivityThread.access$600(ActivityThread.java:156) 
                                                     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1342) 
                                                     at android.os.Handler.dispatchMessage(Handler.java:99) 
                                                     at android.os.Looper.loop(Looper.java:153) 
                                                     at android.app.ActivityThread.main(ActivityThread.java:5315) 
                                                     at java.lang.reflect.Method.invokeNative(Native Method) 
                                                     at java.lang.reflect.Method.invoke(Method.java:511) 
                                                     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833) 
                                                     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600) 
                                                     at dalvik.system.NativeStart.main(Native Method) 
09-25 03:17:40.004 530-550/? E/AppErrorDialog: Failed to get ILowStorageHandle instance
09-25 03:17:40.881 530-831/? E/PerfService: perfBoostDisable bypassed!
09-25 03:18:08.052 7773-7781/? E/jdwp: jdwp::setsockopt(SO_SNDTIMEO)
09-25 03:18:08.052 7773-7781/? E/jdwp: jdwp::setsockopt(SO_RCVTIMEO)

问题参考http://blog.csdn.net/androidstarjack/article/details/49277439

后再添加 ShareSDK.initSDK(this);//初始化ShareSDK

                ShareSDK.initSDK(context, "APPkey");//上下文和APPkey就好了

 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

       ShareSDK.initSDK(this);//初始化ShareSDK
        ShareSDK.initSDK(context, "APPkey");//上下文和APPkey
        
        setContentView(R.layout.activity_main);
        init();
        Listener();
    }

运行效果



若果需要参考demo的话可留言



1 2 3 4 5 $sharesdk.shareContent($sharesdk.platformID.SinaWeibo, params, function (platform, state, shareInfo, error) { alert("state = " + state + "\nshareInfo = " + shareInfo + "\nerror = " + error); }); 一键分享 1 2 3 4 5 $sharesdk.oneKeyShareContent([$sharesdk.platformID.SinaWeibo, $sharesdk.platformID.TencentWeibo], params, function (platform, state, shareInfo, error) { alert("state = " + state + "\nshareInfo = " + shareInfo + "\nerror = " + error); }); 关于具体的分享参数名称,请参考“不同平台分享内容的详细说明”章节的说明。 用户授权 调用ShareSDK中的authorize方法可进行用户授权。代码如下: 1 2 3 4 5 $sharesdk.authorize($sharesdk.platformID.SinaWeibo, function (platform, state, error){ alert("state = " + state + "\nerror = " + error); }); 获取用户资料 调用ShareSDK中的getUserInfo来获取授权用户的信息。代码如下: 1 2 3 4 5 $sharesdk.getUserInfo($sharesdk.platformID.SinaWeibo, function (platform, state, user, error) { alert("state = " + state + "\nuser = " + user + "\nerror = " + error); }); iOS部分集成步骤(不发布iOS版本可略过此部分) 导入JS桥接的iOS版本组件 打开下载的JS包里的iOS/ShareSDKForJS/ShareSDKForJS.xcodeproj项目工程,选择ShareSDKForJS静态库运行Xcode,如图: 700px-js_doc_001.png 运行成功之后,请大家打开文件找到Build文件夹,然后进入文件中找到build/Products/Debug-iphonesimulato /libShareSDKForJS.a文件以及找到build/Products/Debug-iphonesimulator/usr/local /include/ShareSDKJSBridge.h这个文件,再将libShareSDKForJS.a和ShareSDKJSBridge.h这 2个文件导入到你的项目里,如图 700px-js_doc_002.png 注意:(如果在分享中弹不出分享的菜单,如果大家的ShareSDK.js文件是本地的,要把这个加到Build Phases里面的Copy Bundle Resources选项) 下载iOS版本ShareSDK,并导入到工程中。 登录ShareSDK的官方网站下载并解压最新版本的SDK。如果您还尚未下载,请 点击这里下载 或者访问 http://sharesdk.cn/Download 。解压后如图所示: 700px-js_doc_003 将ShareSDK导入工程中,并添加相应的依赖库。此步骤可以参考:《iOS快速集成指南》中的第一、第二步。执行完成后,如下图所示: 700px-js_doc_004.png 为UIWebView添加消息捕获 先导入ShareSDKJSBridge.h头文件。 1 #import "ShareSDKJSBridge.h" 然后给UIWebView设置一个委托对象,如: 1 webView.delegate = self; 注意:webView是UIWebView的对象实例。 最后实现shouldStartLoadWithRequest委托方法,并在方法中加入JSBridge的captureRequest方法,代码如下: 1 2 3 4 - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { return ![[ShareSDKJSBridge sharedBridge] captureRequest:request webView:webView]; } 添加完毕后就可以对工程进行运行测试。 Android部分集成步骤(不发布Android版本可略过此部分) 导入的步骤如下: 1、参考”安卓快速集成文档“章节的说明,导入ShareSDK for Android的jar库和图片、文字资源。 2、复制github上的jsdemo项目中”cn.sharesdk.js”包中的源代码复制到你的项目中。QQ截图20150304142013 3、在您WebView加载页面地址之前。调用ShareSDKUtils.prepare(webview, webviewClient); 请注意,ShareSDKUtils.prepare方法要在WebView.setWebViewClient(WebViewClinet);之后调用,而且此后不能再调用setWebViewClient方法,否则ShareSDK的初始化操作可能失败。 下面的代码来自github上的demo: Objective-C 1 2 3 4 5 6 7 8 9 10 11 12 public class MainActivity extends Activity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); WebView wvBody = new WebView(this); WebViewClient wvClient = new WebViewClient(); wvBody.setWebViewClient(wvClient); wvBody.setWebChromeClient(new WebChromeClient() { public boolean onJsAlert(WebView view, String url, String message, JsResult result) { return super.onJsAlert(view, url, message, result); } });
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值