为帮助用户更好更快的使用原生插件,论坛维护了一个示例,示例中包含示例代码、知识点讲解、注意事项等,供您参考。
每个 APP 程序都有一个独立的文件系统(存储空间),而且只能在对应的文件系统中进行操作,此区域被称为沙盒。应用必须待在自己的沙盒里,其他应用不能访问该沙盒(除非其主动通过shareAction)原生插件分享资源到目标APP,接受其他APP分享来的文件,可通过 api 对象下的addEventListener监听appintent事件来获取)。当然该应用也不能访问其它应用的沙盒(某些系统资源除外,如系统相册等,编译之前需申请访问权限)。在Android系统上sdcard 中的公共目录只要 app 有读写权限就可以访问。
通过系统分享,能将本 APP 沙盒中的文本、图片、文件等资源分享给可接受的 APP,如微信、QQ、支付宝、新浪微博等。同时,在 Yonbuilder 移动开发平台上可通过 api 对象下的addEventListener 接口监听 appintent 事件来获取其他 APP 分享来的资源信息。
在 iOS 端若想要自己的 APP 在系统分享列表中显示,需要配置 Info.plist 文件。有关 Info.plist 文件的说明参考论坛。 配置示例如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>LSItemContentTypes</key>
<array>
<string>public.item</string>
<string>public.content</string>
</array>
</dict>
</array>
</dict>
</plist>
字段解释:
注意:谨慎配置此功能,提交苹果商店时需要加上详细的说明,否则审核会被拒绝。
shareAction 封装了调用系统分享功能的原生插件,通过该原生插件能够分享一些最常见的文本、图片、文件等信息到可接受的 APP,如微信、QQ、支付宝、新浪微博等。本原生插件兼容 iPad。
打开分享对话框
share({params})
text:
type:
path:
images:
thumbnail:
arrowRect:
{
x:0, //左上角x坐标,数字类型
y:0, //左上角y坐标,数字类型
w:0, //宽度,数字类型
h:0, //高度,数字类型
}
arrowDirection:
contentSize:
{
w:0, //宽度,数字类型
h:0 //高度,数字类型
}
fixedOn:
var sharedModule = api.require('shareAction');
sharedModule.share({
text: '纯文本信息',
type: 'text'
});
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
分享文本到系统分享控件(通过系统分享控件分享到目标APP)
text:
iPad:
{
arrowRect: { //JSON 对象,iPad中显示时箭头指向的位置
x:0, //左上角x坐标,数字类型
y:0, //左上角y坐标,数字类型
w:0, //宽度,数字类型
h:0, //高度,数字类型
},
contentSize: { //JSON 对象,对话框大小
w:0, //宽度,数字类型
h:0 //高度,数字类型
},
fixedOn:'', //字符串类型;对话框所依附的窗口;默认:于当前 window
arrowDirection: '', //字符串类型;箭头指向的方向;默认:any;取值范围:
//left:指向左边
//right:指向右边
//up:指向上边
//down:指向下边
//any:系统根据页面情况选择合适的方向
}
var sharedModule = api.require('shareAction');
sharedModule.shareText({
text: '纯文本信息'
});
iOS 系统,Android 系统
可提供的 1.0.8 及更高版本
打开分享对话框,分享图片到目标 APP android多图片分享(即images参数)功能,会在android 7.0+ 并且在编译版本(targetVersion)为26时会出现一些兼容性问题,推荐使用share接口分享图片
shareImage({params})
images:
text:
iPad:
{
arrowRect: { //JSON 对象,iPad中显示时箭头指向的位置
x:0, //左上角x坐标,数字类型
y:0, //左上角y坐标,数字类型
w:0, //宽度,数字类型
h:0, //高度,数字类型
},
contentSize: { //JSON 对象,对话框大小
w:0, //宽度,数字类型
h:0 //高度,数字类型
},
fixedOn:'', //字符串类型;对话框所依附的窗口;默认:于当前 window
arrowDirection: '', //字符串类型;箭头指向的方向;默认:any;取值范围:
//left:指向左边
//right:指向右边
//up:指向上边
//down:指向下边
//any:系统根据页面情况选择合适的方向
}
var sharedModule = api.require('shareAction');
sharedModule.shareImage({
text: '纯文本信息',
images: []
});
iOS 系统,Android 系统
可提供的 1.0.8 及更高版本
打开分享对话框,分享文件
shareFile({params})
path:
text:
iPad:
{
arrowRect: { //JSON 对象,iPad中显示时箭头指向的位置
x:0, //左上角x坐标,数字类型
y:0, //左上角y坐标,数字类型
w:0, //宽度,数字类型
h:0, //高度,数字类型
},
contentSize: { //JSON 对象,对话框大小
w:0, //宽度,数字类型
h:0 //高度,数字类型
},
fixedOn:'', //字符串类型;对话框所依附的窗口;默认:于当前 window
arrowDirection: '', //字符串类型;箭头指向的方向;默认:any;取值范围:
//left:指向左边
//right:指向右边
//up:指向上边
//down:指向下边
//any:系统根据页面情况选择合适的方向
}
var sharedModule = api.require('shareAction');
sharedModule.shareFile({
text: '文本信息',
path: ''
});
iOS 系统,Android 系统
可提供的 1.0.8 及更高版本
打开分享对话框,分享音频文件
shareAudio({params})
path:
text:
iPad:
{
arrowRect: { //JSON 对象,iPad中显示时箭头指向的位置
x:0, //左上角x坐标,数字类型
y:0, //左上角y坐标,数字类型
w:0, //宽度,数字类型
h:0, //高度,数字类型
},
contentSize: { //JSON 对象,对话框大小
w:0, //宽度,数字类型
h:0 //高度,数字类型
},
fixedOn:'', //字符串类型;对话框所依附的窗口;默认:于当前 window
arrowDirection: '', //字符串类型;箭头指向的方向;默认:any;取值范围:
//left:指向左边
//right:指向右边
//up:指向上边
//down:指向下边
//any:系统根据页面情况选择合适的方向
}
var sharedModule = api.require('shareAction');
sharedModule.shareAudio({
text: '文本信息',
path: ''
});
iOS 系统,Android 系统
可提供的 1.0.8 及更高版本
打开分享对话框,分享Url
shareUrl({params})
url:
text:
thumbnail:
iPad:
{
arrowRect: { //JSON 对象,iPad中显示时箭头指向的位置
x:0, //左上角x坐标,数字类型
y:0, //左上角y坐标,数字类型
w:0, //宽度,数字类型
h:0, //高度,数字类型
},
contentSize: { //JSON 对象,对话框大小
w:0, //宽度,数字类型
h:0 //高度,数字类型
},
fixedOn:'', //字符串类型;对话框所依附的窗口;默认:于当前 window
arrowDirection: '', //字符串类型;箭头指向的方向;默认:any;取值范围:
//left:指向左边
//right:指向右边
//up:指向上边
//down:指向下边
//any:系统根据页面情况选择合适的方向
}
var sharedModule = api.require('shareAction');
sharedModule.shareUrl({
text: '文本信息',
url: ''
});
iOS 系统,Android 系统
可提供的 1.0.8 及更高版本
获取所有支持分享的app的信息 (注意:该方法仅支持android)
getSupportSharedAppInfos({params})
type:
ret:
{
appInfos:[{
packageName:'', // 字符串;app的包名
launcherActivityName:'', // 字符串;app的入口activity名称
appName:'' // 字符串;app的名称
}]
}
Android 系统
可提供的 1.0.7 及更高版本
为帮助用户更好更快的使用原生插件,论坛维护了一个示例,示例中包含示例代码、知识点讲解、注意事项等,供您参考。