Cp0204
Cp0204
  • 发布:2015-01-06 22:29
  • 更新:2024-03-27 16:54
  • 阅读:40384

通过native.js调用系统分享 - 示例

分类:Native.js

更新:目前plus.share已经实现了对系统分享的调用。已无必要使用Native.js调用系统分享。参考http://www.html5plus.org/doc/zh_cn/share.html#plus.share.sendWithSystem

============================================================================

先说明,我对原生只是有一点点了解。我的目的是教大家,希望大家也可以自己写native.js。
前几天我问为什么不集成 Intent.ACTION_SEND 分享,@DCloud_heavensoft 说官方刚好正在做。
今晚读了一下:
http://ask.dcloud.net.cn/docs/#http://ask.dcloud.net.cn/article/114
http://www.dcloud.io/docs/api/zh_cn/android.shtml
对比了一下示例和网上找的原生代码,试着捣鼓,也捣鼓出来了。
二楼放代码,三楼放教程。


二楼不支持MD,那这里更新好了,直接拿去用就行了

function share(shareTip,shareText){  
var Context = plus.android.importClass("android.content.Intent");  
var Main = plus.android.runtimeMainActivity();  
var shareIntent=new Context(Context.ACTION_SEND);  
shareIntent.setType("text/plain");   
shareIntent.putExtra(Context.EXTRA_TEXT, shareText);  
Main.startActivity(Context.createChooser(shareIntent,shareTip));  
}  
//调用  
share('分享到...','要分享的文本');

带注释

function share(shareTip,shareText){  
    //导入Java类对象  
    var Context = plus.android.importClass("android.content.Intent");  
    //获取应用主Activity  
    var Main = plus.android.runtimeMainActivity();  
    //将类Context的这个行为(Action)ACTION_SEND,赋给shareIntent  
    var shareIntent=new Context(Context.ACTION_SEND);  
    //***以下两种写法是一样的  
    //plus.android.invoke(shareIntent,"setType","text/plain");  
    //plus.android.invoke(shareIntent,"putExtra",Context.EXTRA_TEXT,shareText);  
    //设置分享类型  
    shareIntent.setType("text/plain");   
    //设置分享文本  
    shareIntent.putExtra(Context.EXTRA_TEXT, shareText);  
    //***以上两种写法是一样的  
    //指定分享的包名  
    //shareIntent.setPackage('com.tencent.mm',);  
    Main.startActivity(Context.createChooser(shareIntent,shareTip));  
}

原生代码这样写,大家对比下,就发现不难懂,字符对应上

Intent sendIntent = new Intent(android.content.Intent.ACTION_SEND);  
sendIntent.putExtra(Intent.EXTRA_TEXT, "This is my text to send.");  
sendIntent.setType("text/plain");  
startActivity(Intent.createChooser(sendIntent,'send to...'));
24 关注 分享
DCloud_UNI_CHB DCloud_heavensoft 凯哥 小闹 深井冰_01 多串君 h5_学习者 有毒葡萄 LHQ 梓宏 陈旭媛 蔡繁荣 鸿运当头 寻梦111 x***@sina.cn 雪之梦技术驿站 东方小浪哥 小新的狗叫小白 2***@qq.com 8***@qq.com 在职憨生 Roach sd791002 2***@qq.com

要回复文章请先登录注册

黑桃

黑桃

真厉害!加油。
2016-11-24 12:14
gadget2k

gadget2k

mark
2016-11-23 17:18
雪之梦技术驿站

雪之梦技术驿站

感谢
2016-11-11 10:36
底浪岩

底浪岩

关注,
2016-03-12 17:13
cdz

cdz

我的打包后分享失败,真机调试的时候没问题,请问是怎么回事啊
2016-02-20 12:57
wlws

wlws

我只想知道,如何在一个手机端网页上如何调用这样的功能,菜鸟求解,????

调用电话用 tel:1333333 发短信用:sms:133333 如何调用手机上的分享功能?有没有简单点的如 tel ,sms这样的简单应用 ?
2016-01-04 23:48
陈旭媛

陈旭媛

同问,分享成功或者失败,有提示吗?
2015-10-20 17:53
gadget2k

gadget2k

请问调用后如何得知“分享成功”这一事件?
2015-10-15 16:17
翾

请问有ios版本的么?很是期待。。
2015-05-22 19:32
小闹

小闹

关注
2015-01-07 10:04