3***@qq.com
3***@qq.com
  • 发布:2016-07-04 12:45
  • 更新:2016-07-04 12:45
  • 阅读:2597

IOS通过native.js调用彩信发送

分类:Native.js

由于h5+只提供了发短信的方法,没有提供发彩信的方法,坑爹的....然后自己写了个native调用原生发彩信方法

    //定义回调委托  
    var delegate = plus.ios.implements(  
        'messageComposeViewController',  
        {'messageComposeViewController:didFinishWithResult:':function(result){  
            console.log('info:'+arguments.length);  
            plus.ios.invoke(arguments[0],'dismissViewControllerAnimated:completion:','YES',null);  
        }}  
    );    
    //创建彩信  
    var MessageUI  = plus.ios.importClass("MessageUI");   
    var messageController = plus.ios.newObject('MFMessageComposeViewController');   
    //messageController.plusSetAttribute('body','');  
    messageController.plusSetAttribute('messageComposeDelegate',appRootController);   
    messageController.plusSetAttribute('messageComposeDelegate',delegate);  
    //添加图片  
    var canSendAttachments = plus.ios.invoke('MFMessageComposeViewController','canSendAttachments');  
    if(!canSendAttachments){  
        plus.nativeUI.alert('您的手机不支持彩信发送!');return;  
    }  
    //添加图片  
    var _path = plus.ios.invoke('NSURL','fileURLWithPath:',_url);   
    plus.ios.invoke(messageController,"addAttachmentURL:withAlternateFilename:",_path,'test.jpg');   
    //跳转到短信控制器  
            //获取根控制器  
    var UIApplicationClass = plus.ios.importClass("UIApplication");  
    var UIAppObj = UIApplicationClass.sharedApplication();   
    var appRootController = UIAppObj.plusGetAttribute('keyWindow').plusGetAttribute('rootViewController');  

    plus.ios.invoke(appRootController,"presentViewController:animated:completion:",messageController,"YES",null);
1 关注 分享
zzdev

要回复文章请先登录注册