<script>

  var shares=null;

       var Intent=null,File=null,Uri=null,main=null;


function plusReady(){
updateSerivces();
if(plus.os.name=="Android"){
main = plus.android.runtimeMainActivity();
Intent = plus.android.importClass("android.content.Intent");
File = plus.android.importClass("java.io.File");
Uri = plus.android.importClass("android.net.Uri");
}
}
if(window.plus){
plusReady();
}else{
document.addEventListener("plusready",plusReady,false);
}

/**** 更新分享服务****/
function updateSerivces(){
plus.share.getServices( function(s){
shares={};
for(var i in s){
var t=s[i];
shares[t.id]=t;
}
}, function(e){
layer.msg("获取分享服务列表失败:"+e.message );
} );
}

/*** 分享操作* @param {JSON} sb 分享操作对象s.s为分享通道对象(plus.share.ShareService)* @param {Boolean} bh 是否分享链接*/
function shareAction(sb,bh) {
if(!sb||!sb.s){
layer.msg("无效的分享服务!");
return;
}

var msg={content:sharehrefDes.value,extra:{scene:sb.x}};
if(bh){
msg.href=sharehref.value;
if(sharehrefTitle&&sharehrefTitle.value!=""){
msg.title=sharehrefTitle.value;
}
if(sharehrefDes&&sharehrefDes.value!=""){
msg.content=sharehrefDes.value;
}
msg.thumbs=["_www/logo.png"];
msg.pictures=["_www/logo.png"];
}else{
if(pic&&pic.realUrl){
msg.pictures=[pic.realUrl];
}
}
// 发送分享
if ( sb.s.authenticated ) {
layer.msg("已授权");
shareMessage(msg,sb.s);
} else {
layer.msg("未授权");
sb.s.authorize( function(){
shareMessage(msg,sb.s);
},function(e){
layer.msg("认证授权失败:"+e.code+" - "+e.message );

});
}
}
/*** 发送分享消息* @param {JSON} msg* @param {plus.share.ShareService} s*/
function shareMessage(msg,s){

// alert(JSON.stringify(msg));
s.send( msg, function(){
alert("分享到\""+s.description+"\"成功! " );

}, function(e){
layer.msgt( "分享到\""+s.description+"\"失败: "+JSON.stringify(e) );

} );
}
// 分析链接
function shareHref(){
var shareBts=[];
// 更新分享列表
var ss=shares['weixin'];
ss&&ss.nativeClient&&(shareBts.push({title:'微信朋友圈',s:ss,x:'WXSceneTimeline'}),
shareBts.push({title:'微信好友',s:ss,x:'WXSceneSession'}));
ss=shares['qq'];
ss&&ss.nativeClient&&shareBts.push({title:'分享给QQ好友',s:ss});
// 弹出分享列表
shareBts.length>0?plus.nativeUI.actionSheet({title:'分享链接',cancel:'取消',buttons:shareBts},function(e){
(e.index>0)&&shareAction(shareBts[e.index-1],true);
}):plus.nativeUI.alert('当前环境无法支持分享链接操作!');
}

</script>

<body>
<!-- 主页面标题 -->
<p>链接地址:</p>
<input id="sharehref" type="url" value="http://www.baidu.com/" />
<p>链接标题:</p>
<input id="sharehrefTitle" type="text" value="title" />
<p>链接描述:</p>
<input id="sharehrefDes" type="text" value="test"/></br>
<div>我是新的</div>
<button type="button" onclick="shareHref()"> 分享链接</button>

</body>

/**请珍惜劳动成果**/

关于APP分享到QQ、微信等的更多相关文章

  1. Android 微信分享与QQ分享功能

    微信分享与QQ分享功能现在都挺常见的,可以根据一些第三方社会化分功能快速实现,不过多多少少都不怎么纯净,最好都是自己看官方文档来实现就最好了~ 一.微信分享 微信分享功能需要先在微信开放平台注册应用并 ...

  2. 手机QQ内置网页,微信内置网页中进行分享到QQ和微信的操作

    微信内的网页分享: API内容详见微信开发文档  https://mp.weixin.qq.com/wiki 这里需要注意的是:调用微信API的时候修改的是微信内网页右上角三个点那里打开后,选择分享之 ...

  3. 微信sdk分享,苹果手机分享到qq好友和qq空间没有反应

    最近线上程序苹果手机进行微信分享时,分享到qq好友和qq空间,无法调用分享程序,从微信跳转到qq后就没有反应了,但是安卓手机分享就没事? 解决:调用微信sdk分享时,分享的url(link)的参数不能 ...

  4. asp.net mvc 如何调用微信jssdk接口:分享到微信朋友(圈)| 分享到qq空间

    如何在asp.net mvc 项目里, 调用微信jssdk接口,现实功能: 分享到微信朋友(圈)| 分享到qq空间 1 创建一个Action,准备一些数据,初始化数据(签名): /// <sum ...

  5. 友盟分享--集成QQ和微信

    随着社交工具的应用范围越来越广,分享一些内容的功能也开始要求实现了. 用得比较多的第三方,比如说友盟,比如说Share等等... 前几天刚用友盟写了集成QQ和微信客户端的功能,觉得有必要分享一下. 在 ...

  6. 分享微博,qq空间,微信

    <div class="share_class" ><div class="bdsharebuttonbox">    <a hr ...

  7. 访问量分类统计(QQ,微信,微博,网页,网站APP,其他)

    刚准备敲键盘,突然想起今天已经星期五了,有点小兴奋,一周又这么愉快的结束,又可以休息了,等等..我好像是来写Java博客的,怎么变成了写日记,好吧,言归正传. 不知道大家有没有遇到过这样的需求:统计一 ...

  8. h5怎么做分享到QQ 、朋友圈、微信 、微博等功能

    微信已经成为我们日常聊天联系基本的必备工具,所以小菜我首先介绍一下如何调用微信的分享功能.其实除了可以在微信上分享到朋友圈和发送给好友,微信的分享接口还提供了分享到QQ和分享到腾讯微博等,就是在页面的 ...

  9. App分享之微信微博等各个社交平台的分享授权规则和常见问题

    一.新浪微博分享规则 新浪微博支持分享类型: 应用内分享也就是网页分享支持: 文字,文字+图片,要分享链接需要链接添加在text里分享 客户端分享支持:文字,图片,文字+图片,图片+文字+链接 参数说 ...

随机推荐

  1. CentOS7下搭建hadoop2.7.3完全分布式

    这里搭建的是3个节点的完全分布式,即1个nameNode,2个dataNode,分别如下: CentOS-master   nameNode   192.168.11.128 CentOS-node1 ...

  2. Educational Codeforces Round 27 补题

    题目链接:http://codeforces.com/contest/845 A. Chess Tourney 水题,排序之后判断第n个元素和n+1个元素是不是想等就可以了. #include < ...

  3. Android辅助功能原理与基本使用详解-AccessibilityService

    辅助功能原理与基本使用详解 本文主要介绍辅助功能的使用 辅助功能基本原理 辅助功能基本配置和框架搭建 辅助功能实战解析 辅助功能基本原理   辅助功能(AccessibilityService)其实是 ...

  4. .net 中常用的正则表达式整理

    相信很多伙伴都跟我一样有关于正则表达式的爱和恨,怎么说呢? 因为正则表达式规则繁多且复杂,想一个一个学 全部精通,需要耗费很长时间和精力, 但是我们用的地方并不是很多,所以我觉得这类东西需要做成类似工 ...

  5. 关闭Excel提示文件格式和扩展名不匹配的警告框

    打开某些excel表时,Excel会提示: "a.xls"的文件格式和扩展名不匹配.文件可能已损坏或不安全.除非您信任其来源,否则请勿打开.是否仍要打开它?   在编辑大量的xls ...

  6. 【转载】webstorm11(注册,激活,破解,码,一起支持正版,最新可用)(2016.11.16更新)

    很多人都发现 http://idea.lanyus.com/ 不能激活了 很多帖子说的 http://15.idea.lanyus.com/ 之类都用不了了 最近封的厉害仅作测试 选择 License ...

  7. python 二进制转换

    #二进制装换msg = "大家好"msg1 = msg.encode(encoding='utf-8')#转换成二进制print(msg1)msg2 = msg1.decode(' ...

  8. Day-3: Python基础

    数据类型和变量 Python中直接处理的数据类型主要有以下几种: 整数:Python可以直接处理任意大小的整数,无论正负,都可以直接输入处理: 浮点数:浮点数也叫做小数.有普通写法,如:1.1,也有描 ...

  9. 搭建LAMP及wordpress

    author:JevonWei 版权声明:原创作品 安装软件包 [root@danran ~]# yum -y install httpd mariadb-server mariadb php php ...

  10. java多线程设计模式

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt220 java多线程设计模式 java语言已经内置了多线程支持,所有实现Ru ...