JavaScript 通过plus读取android手机短信内容

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

JavaScript 通过plus读取android手机短信内容。

1.获取android权限

在HBuilder工程中双击应用的“manifest.json”文件,切换到“代码视图”中在plus->distribute->google->permissions节点下添加权限数据:

"<uses-permission android:name=\"android.permission.RECEIVE_SMS\"/>","<uses-permission android:name=\"android.permission.READ_SMS\"/>"


2.通过native.js调用android原生API获取短信内容

源码如下:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
    <title>正己烷检测系统APP</title>
    <script type="text/javascript">
    
    //SmsInfo存放一条短信的各项内容
    var SmsInfo = {}
    //Sms存放所有短信
    var Sms = {}
    document.addEventListener('plusready', ready, false);
    //plusready后的回调函数,读取短信库里面的所有短信内容
function ready()
{
var Cursor = plus.android.importClass("android.database.Cursor")
var Uri = plus.android.importClass("android.net.Uri")   //注意啦,android.net.Uri中的net是小写
var activity = plus.android.runtimeMainActivity()
var uri = Uri.parse("content://sms/");  

var projection=new Array("_id","address","person","body","date","type")
var cusor = activity.managedQuery(uri,projection,null,null,"date desc")
var idColumn = cusor.getColumnIndex("_id")
var nameColumn = cusor.getColumnIndex("person")
var phoneNumberColumn = cusor.getColumnIndex("address")
var smsbodyColumn = cusor.getColumnIndex("body")
var dateColumn = cusor.getColumnIndex("date")
var typeColumn = cusor.getColumnIndex("type")
if(cusor != null)
{
while(cusor.moveToNext())
{
SmsInfo.id = cusor.getString(idColumn)
SmsInfo.Name = cusor.getInt(nameColumn)
SmsInfo.Date = cusor.getLong(dateColumn)
SmsInfo.Date = getFormatDate(SmsInfo.Date)
SmsInfo.PhoneNumber = cusor.getString(phoneNumberColumn)
SmsInfo.Smsbody = cusor.getString(smsbodyColumn)
SmsInfo.Type = cusor.getString(typeColumn)
document.write("id: " + SmsInfo.id +"<br />"+
"person: " + SmsInfo.Name +"<br />"+
"Date: " + SmsInfo.Date +"<br />"+ 
"address: " + SmsInfo.PhoneNumber +"<br />"+ 
"info: " + SmsInfo.Smsbody +"<br />"+ 
"type: " + SmsInfo.Type + "<hr />")
}
cusor.close()
}
}


//扩展Date功能:将long型日期转换为特定的格式
Date.prototype.format = function (format) {
   var o = {
       "M+": this.getMonth() + 1,
       "d+": this.getDate(),
       "h+": this.getHours(),
       "m+": this.getMinutes(),
       "s+": this.getSeconds(),
       "q+": Math.floor((this.getMonth() + 3) / 3),
       "S": this.getMilliseconds()
   }
   if (/(y+)/.test(format)) {
       format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
   }
   for (var k in o) {
       if (new RegExp("(" + k + ")").test(format)) {
           format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));
       }
   }
   return format;
}


   //将long型日期转换为特定格式
function getFormatDate(l, pattern) {
date = new Date(l);
   if (pattern == undefined) {
       pattern = "yyyy-MM-dd hh:mm:ss";
   }
return date.format(pattern);
}





    </script>
</head>


<body>


</body>
</html>

在Hbuilder上写好后直接进行连上安卓手机测试

利用autoxjs 获取手机短信 转发自网络,留下备份。 阅读详情

相关推荐

Scm.Net 是一套企业级中后台管理系统

⭐⭐⭐⭐⭐ 一款基于 .Net10.0 及 Vue3.0 构架、适用于企业中后台管理系统的快速开发框架(.Net后端)。Scm.Net是一套企业级中后台管理系统的快速开发框架,采用前后端分离架构,内置权限管理、代码生成、工作流引擎、实时消息、数据可视化等企业级核心能力。笔者多年从事供应链系统及企业信息化系统的产品与研发,经常面对异构应用场景需求。在梳理多种项目经验的过程中开发此项目,旨在帮助开发同仁快速搭建一个完整、可扩展的开发框架。产品说明OMS订单管理系统WMS仓储管理系统TMS运输管理系统。

A_nanda的博客 807

Android自动获取输入短信验证码库AutoVerifyCode详解

主要为大家详细介绍了Android自动获取输入短信验证码库,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

plus.android.runtimeMainActivity.startActivity无法执行且没有报错,无法调起原生应用

最近,我遇到了一个有关Android开发的问题,我在使用Android中的plus.android.runtimeMainActivity.startActivity方法时遇到了一些困难。具体而言,该方法无法执行,也没有生成任何错误信息,更糟糕的是,它无法调起我想要的原生应用。在这个新的代码片段中,我获取了PackageManager的实例,并使用resolveActivity方法来检查Intent是否具有匹配的活动。我首先仔细检查了我的代码,确保所有的参数和调用都是正确的。

DevGlider的博客 984

按键精灵脚本学习-关于天猫抢红包

专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材、源码、游戏等)

空名先生 7563

autojs自动获取短信验证码

AutoJS 是一种基于 JavaScript 的自动化脚本语言,可以用于在 Android 设备上自动化操作。 如果你想使用 AutoJS 自动获取短信验证码,你可以使用 Android短信 API,在 AutoJS 中编写代码读取短信内容,然后从中提取验证码。 不过,请注意,由于隐私保护原因,不建议在没有用户授权的情况下读取短信内容,否则可能会遭到用户投诉或违反相关法律法规。 ...

weixin_42593130的博客 1433

uniapp android 调用原生 文件管理

项目背景:uniapp 项目三段部署,项目中有一个 上传文件的功能,需要调用原生的 文件管理器,本来是用原生插件 但是最终拿不到,原生文件管理acticity 的 返回: onActivityResult(int requestCode, int resultCode, Intent intent) 就是 上面这句话 不会调用:最后看到论坛上面写道:可以在 js 中访问文件管理器,并且接收到 返回: 在 js 中设置:main.onActivityResult var main = p...

唐僧的专栏 5265

uniapp调用Android原生NFC进行读写操作

在uniapp中实现NFC读写操作(NfcV格式/ISO15693)

null 7464

uni-app 跳转Android原生界面(Activity),并传值交互

应大家的要求,我研究了一下相互传值操作 一、uni-app 跳转Android原生界面(Activity)并传值 前端传值操作 <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> </head> <body> <input type="button" value="js start native Activity" onclick="jsCallNative.

ITPlus的博客 1万+

JavaScript实现获取短信效果

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <input type="text" placeholder="输入手机号"> <input type="button" value="获取验证码"> &l

weixin_47304332的博客 1506

autojs短信监听

作者: 牙叔 使用情景 获取最新的一条短信 警告 本教程仅供学习, 严禁用于非法用途 三种方法 广播监听: BroadcastReceiver 通知栏监听: events.onNotification 内容观察者: ContentObserver 三种方法的优缺点 广播监听: 我的小米8手机获取不到这个广播, 群里有的人说可以, 有的人说不行 通知栏监听: events.onNotification, 这个需要通知栏权限, 短信内容可能在通知文本也可能在通知摘要中 内容观察者: ContentOb

snailuncle2的博客 6120

代码编辑器codemirror 获取值 赋值【文章最后有我实际操作代码 修改回显 并保存】

首先引入这两个css &lt;link href="../../css/plugins/codemirror/codemirror.css" rel="stylesheet"&gt; &lt;link href="../../css/plugins/codemirror/ambiance.css" rel="stylesheet"&gt; 然后页面中定义一个textarea &l

Mr_ZhangAdd的博客 1万+

Total Control脚本功能JS API之获取设备短信内容

每一个设备对象都对应了 Total Control 中已连接的一台手机设备。 通过设备对象,用户可以获取到手机设备的各种属性,以及使用控制接口对设备进行各种操作,比如 打开或关闭指定APP,发送短信等等。今天我们就介绍如何用 JS API (messageGet)获取手机上的短信内容。 messageGet 原型: messageGet(postion) messageGet(begin,...

lemon5814的博客 1367

全网最全的autojs例子,有一千六百多的脚本文件,少走弯路

【实例简介】autojs例子大全,一千六百多个脚本,简单的到复杂的例子,统统有,小白学完马上变大神,大神学了变超神。 脚本内容包含: 几十种类型的UI脚本,抖音、QQ、微信、陌陌、支付宝等自动化操作的脚本、还有部分协议列表,HTTP协议(POST、GET)上传下载,接码模块,百度文字识别api模块,文件操作模块:txt文本读一行删一行,等等其他例子 【实例截图】 【核心代码】 └─1688 内容转载自网站:阁楼网源 !运动点赞!.js (qq语音红包.js (协议)快阅读.js (可修改王者荣耀启动动画)

iidhdfji123的博客 1万+

AutoJs学习-实现安卓自动转发短信到微信

专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材、源码、游戏等)

空名先生 3701

plus调用android原生页面

var main = plus.android.runtimeMainActivity(); var Intent = plus.android.importClass("android.content.Intent"); var intent = new Intent(main.getIntent()); intent.setClassName(main, "com.hk.camera...

weixin_30947043的博客 6215

android app拉不起来 不报错,【报Bug】plus.android.runtimeMainActivity().startActivity()不执行,也不报错,调用不起原生应用...

详细问题描述(DCloud产品不会有明显的bug,所以你遇到的问题大都是在特定环境下才能重现的问题,请仔细描述你的环境和重现方式,否则DCloud很难排查解决你的问题)[内容]var Intent = plus.android.importClass("android.content.Intent");var Uri = plus.android.importClass("android.net....

weixin_34959771的博客 3459

Android 双卡打电话 需要用到的方法

public static boolean isMultiSim(Context context){     boolean result = false;     TelecomManager telecomManager = (TelecomManager) context.getSystemService(Context.TELECOM_SERVICE);     if(telecom

赵界尊的博客 1811

script什么意思中文翻译成,script的中文意思是什么

script[英][skrɪpt][美][skrɪpt]n.脚本,手迹;第三人称单数:scripts过去分词:scripted复数:scripts现在进行时:scripting过去式:scripted例句:1.Runningthisscriptreturnsthefollowingerror.运行这段脚本会获得如下错误。script英[skrɪpt]美[skrɪpt]n.脚本;script英[skrɪpt]美[skrɪpt]n.脚本,手迹;剧本、广播稿或者电影剧本vt.为电影(或戏剧等)写剧本;

神器榜 2177
上一篇: JavaScript 通过native.js 调用Android原生API
下一篇: 微信公众号资料整理
su_sai
博客等级 码龄12年 12粉丝 41原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值