• uni-app实现app发送短信和读取短信


    1、发送短信

    uni-app没有对应API的接口,如果想实现发送短信的功能可以借助HTML5+ API的方式,使用发送短信接口,直接跳转到手机发送短信页面,支持编辑短信。

    参考链接:
    www.html5plus.org/doc/zh_cn/m…

    to:收件人信息 字符串数组类型,输入的地址收件人信息必须符合消息类型格式。

    cc:抄送人信息 字符串数组类型,仅发送邮件时有效,输入的地址收件人信息必须符合消息类型格式。

    bcc:暗送人信息 字符串数组类型,仅发送邮件时有效,输入的地址收件人信息必须符合消息类型格式。

    from:发件人信息 仅在监听接收到的信息时有效。

    subject:发送消息主题 字符串类型,仅发送邮件时有效。

    body:发送消息内容 字符串类型,要发送的消息体内容,其格式必须与bodyType指定的一致。

    bodyType:发送消息内容类型 要发送消息体内容的类型,可取值"text"表示文本内容,"html"表示为html页面,默认值为"text"。

    silent:是否采用静默方式发送消息 布尔类型,可取值为true或false,true表示静默方式发送,不弹出界面;false表示非静默方式发送。默认采用非静默方式。

        平台支持:

        iOS - 4.3+ (不支持):不支持静默方式发送消息,将忽略此属性值。

        Android - 2.2+ (支持):支持静默方式发送短信(彩信和邮件不支持),发送成功后不会保留在系统的已发送信箱中,默认采用非静默方式发送消息。

    可添加附件

    2、短信读取

    以下代码为安卓方式获取,苹果不支持短信读取。
    //不同机型可能获取不全
    //查看权限是否已允许
    var Context = plus.android.runtimeMainActivity();
    var res = plus.android.invoke("android.support.v4.app.ActivityCompat", "checkSelfPermission", Context,	"android.permission.READ_SMS");
    var PERMISSIONS_STORAGE = new Array();
    PERMISSIONS_STORAGE.push("android.permission.READ_SMS"); 
    // res == -1 时为询问状态,询问时会走Show 和 Hidden
    if (res != "0") 
    {	
        plus.android.invoke("android.support.v4.app.ActivityCompat", "requestPermissions", Context, PERMISSIONS_STORAGE, 1);
    } else {	
        var main = plus.android.runtimeMainActivity();
        var Uri = plus.android.importClass("android.net.Uri");
        var ContactsContract = plus.android.importClass('android.provider.ContactsContract');
        var uri = Uri.parse("content://sms/");
        var cr = main.getContentResolver();
        plus.android.importClass(cr);
        var cur = cr.query(uri, null, null, null, null);
        plus.android.importClass(cur);
        cur.moveToFirst();
        while (cur.moveToNext()) 
        {
            var index_Address = cur.getColumnIndex("address");
    	var address = cur.getString(index_Address);
    	//短信内容
      	var index_Body = cur.getColumnIndex("body");
    	var body = cur.getString(index_Body);
    	//类型1接收 2发送
      	var index_Type = cur.getColumnIndex("type");
    	var type = cur.getString(index_Type);
    	console.log(address,body,type);	
        }
        cur.close();
    }复制代码

  • 相关阅读:
    代码块;继承;this与super关系;重载与重写对比;类的继承特点;final关键字 (Java Day08)
    变量访问;this关键字;静态;工具类;帮助文档;Math使用;Arrays使用(Java Day07)
    面向对象;类和对象;访问对象;创建对象在内存中的理解;匿名对象;封装和this (Java Day06)
    如何保证 RocketMQ 不丢失消息
    Java-String类型的参数传递问题
    图解前中后序遍历
    一文彻底理解ReentrantLock可重入锁的使用
    聊聊MySQL、HBase、ES的特点和区别
    MySQL vs Java 数据类型
    Multi-Tenancy多租户模式
  • 原文地址:https://www.cnblogs.com/jucheng/p/12176346.html
Copyright © 2020-2023  润新知