更新记录
1.0.0(2024-05-16)
插件上架
平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:5.0 - 14.0 | armeabi-v7a:支持,arm64-v8a:支持,x86:支持 | × |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios
注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择
mphl-educationcertification Demo
1:调用方式
var phonemarkModule = uni.requireNativePlugin("mphl-phonemark");
2:参数格式
//json格式参数,
var res = {
}
3-1:getSetting方法获取配置权限
var permission_json = {permissions:["android.permission.READ_PHONE_STATE","android.permission.READ_PHONE_NUMBERS"]};
phonemarkModule.getSetting(permission_json,(res)=>{
console.log(res);
});
//结果回调
{"checkPermissionResult":[{"android.permission.READ_PHONE_STATE":true},{"android.permission.READ_PHONE_NUMBERS":true},{"canDrawOverlays":true}],"status":1,"info":"权限授权信息获取成功"}
3-2:getContactList通讯录获取
phonemarkModule.getContactList({
test:3
},(res)=>{
console.log(res);
});
//结果回调
{
"code": "success",
"contactList": [
{
"info": "02088322185",
"user": "钉钉DING消息",
"mobile": "02088322185"
}
]
}
3-3:getPhoneBaseInfo基础信息获取
phonemarkModule.getPhoneBaseInfo({
test:3
},(res)=>{
console.log(res);
});
//结果回调
{
"status": 1,
"line1Number":""
"uniqueID":"0c846919-82c7-3ce4-bc54-3572b5c035f1"
}
3-4:endCall挂断电话
phonemarkModule.endCall({
test:2
},(res)=>{
console.log(res);
});
//结果回调
{
"status": 1,
"info":"挂断成功",
"":"app"//挂断电话操作者app:本应用,system:系统挂断
}
3-5:initEvent初始化电话监听
listenerFun:接收全局信息的方法
phonemarkModule.initEvent({test:1,listenerFun:"onReceiveMsg"},(result)=>{
console.log(result);
// if(result.code == 2){
// }
});
// 添加接收信息事件监听,监听名称与listenerFun传给插件的要相同。
plus.globalEvent.addEventListener('onReceiveMsg', function(e) {
console.log('========onReceiveMsg========' JSON.stringify(e));
switch(e.event){
case "getPhoneInfo":
var phoneState = e.state;
if(phoneState == 'RINGING'){
var phoneMarkInfoResult = {code:0,err:"",reject:false,mobile:"",rows:[],recevieMsg:e};
var rows = [
{info:"客户",user:"穆林",head:"可以是网络图片链接"},
{info:"多单",user:"沐风月",head:"B"}
];
phoneMarkInfoResult.rows = rows;
//展示来电人备注信息
phonemarkModule.showPhoneInfo(phoneMarkInfoResult,(res)=>{
console.log(res);
});
}else{
}
break;
case "endCallCallback"://挂断电话回传事件
break;
}
});
3-6:unRegisterListener取消来电广播监听
listenerFun:接收全局信息的方法
phonemarkModule.unRegisterListener({test:1},(result)=>{
console.log(result);
});
//结果回调
{
"status": 1,
"info":"取消成功"
}