Auto.js 调用系统短信、电话
本文所有教程及源码、软件仅为技术研究。不涉及计算机信息系统功能的删除、修改、增加、干扰,更不会影响计算机信息系统的正常运行。不得将代码用于非法用途,如侵立删! |
Auto.js 调用系统短信、电话
操作环境
- VS Code
- Google nexus5x
- Auto.js Pro 7.0.4
- win10
调用系统短信模块
发送短信
importClass(android.content.Intent);
importClass(android.telephony.SmsManager); StringBuilder = java.lang.StringBuilder;
Uri = android.net.Uri;
ArrayList = java.util.ArrayList;
List = java.util.List;
Context = android.content.Context;
SimpleDateFormat=java.text.SimpleDateFormat;
Date=java.util.Date;
Long=java.lang.Long;
var MessageInfo;
var list; console.show(); var smsManager = android.telephony.SmsManager.getDefault(); smsManager.sendTextMessage("13888888888", null, "123123", null, null);
toast('短信发送成功')
console.info('短信发送成功')
读取短信
importClass(android.net.Uri);
importClass(android.database.Cursor);
importClass(android.content.ContentResolver); var SMS_INBOX = Uri.parse( "content://sms/" );
var cr = context.getApplicationContext().getContentResolver();
var projection=new Array("_id" , "address" , "person" , "body" , "date" , "type" );
var cur = cr.query(SMS_INBOX, projection, null , null , "date desc" );
var i=0;
while (cur.moveToNext()) {
i=i+1;
var number = cur.getString(cur.getColumnIndex("address"));//手机号
var name = cur.getString(cur.getColumnIndex("person"));//联系人姓名列表
var body = cur.getString(cur.getColumnIndex("body"));//短信内容
toastLog(number);
toastLog(name);
toastLog(body);
if(i>10){break;}
}
监听短信
importPackage(android.content);
importClass(android.telephony.SmsMessage); var filter=new IntentFilter(); filter.addAction("android.provider.Telephony.SMS_RECEIVED"); var receiver = new JavaAdapter(android.content.BroadcastReceiver, {
onReceive : function(context, intent) {
var sender = null;
var bundle = intent.getExtras();
var format = intent.getStringExtra("format"); if (bundle != null) {
var pdus = bundle.get("pdus");
for (object in pdus) {
var message=SmsMessage.createFromPdu(pdus[object],format);
sender = message.getOriginatingAddress();
messageBody = (message.getMessageBody());
log("发信人: " + replacepos(sender, 6, 9, "****"));
log("短信内容: " + messageBody);
}
}
}
}); context.registerReceiver(receiver,filter); setInterval(()=>{},1000);
events.on("eixt", function () {
context.unregisterReceiver(receiver);
}) function replacepos(text,start,stop,replacetext) {
mystr = text.substring(0,start)+replacetext+text.substring(stop+1);
return mystr;
}
调用系统电话模块
- 调用intent拨打电话
function call(context,id, telNum){
// id starts from zero to one
importClass(android.content.Intent);
importClass(android.net.Uri);
importClass(android.content.Context);
importClass(android.telecom.TelecomManager);
let telecomManager = context.getSystemService(Context.TELECOM_SERVICE); if(telecomManager != null){
let phoneAccountHandleList = telecomManager.getCallCapablePhoneAccounts();
let intent = new Intent();
intent.setAction(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:" + telNum));
intent.putExtra(TelecomManager.EXTRA_PHONE_ACCOUNT_HANDLE, phoneAccountHandleList.get(id));
app.startActivity(intent);
}
} call(context,0,12345678910)
PS:需要先开权限,没有权限会报错Permission denied
开启权限:设置->应用和通知->Auto.js Pro->权限
资源下载
https://download.csdn.net/download/qq_38154948/85053497
本文仅供学习交流使用,如侵立删! |
Auto.js 调用系统短信、电话的更多相关文章
- 【Android学习】调用系统短信、电话
今天全心投入Android学习已经有一段时间了,从起初的啥也不懂,到现在半知半解状态,随笔记录些简单且常用的系统功能代码. 调用Android系统短信,其实调用短信非常简单,一个方法就可以搞定.我们可 ...
- Android6.0 源码修改之屏蔽系统短信功能和来电功能
一.屏蔽系统短信功能 1.屏蔽所有短信 android 4.2 短信发送流程分析可参考这篇 戳这 源码位置 vendor\mediatek\proprietary\packages\apps\Mms\ ...
- Android8.1 源码修改之通过黑名单屏蔽系统短信功能和来电功能
前言 之前写过一篇Android6.0 的屏蔽系统短信功能和来电功能,具体看这里 同样的最近有个新需求,需要将8.1 设备的来电功能和短信功能都屏蔽掉,特殊产品就是特殊定制,那就开始吧. 屏蔽短信功能 ...
- ios 设置亮度、声音;调用发短信、邮件、打电话
一,设置亮度 [[UIScreen mainScreen] setBrightness:0.5];//0.0~1.0 二,设置声音 1,添加 MediaPlayer.framework 框架 2,在需 ...
- 无废话Android之listview入门,自定义的数据适配器、采用layoutInflater打气筒创建一个view对象、常用数据适配器ArrayAdapter、SimpleAdapter、使用ContentProvider(内容提供者)共享数据、短信的备份、插入一条记录到系统短信应用(3)
1.listview入门,自定义的数据适配器 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/and ...
- Android下调用收发短信邮件等
Android下调用收发短信邮件等 1,调web浏览器Uri myBlogUri = Uri.parse("http://xxxxx.com");returnIt = new In ...
- Android监听系统短信数据库变化-提取短信内容
由于监听系统短信广播受到权限的限制,所以很多手机可能使用这种方式没法监听广播,从而没办法获取到系统短信,所以又重新开辟一条路. Android监听系统短信数据库内容变化使用场景: 1.监听短信数据库的 ...
- Android 获取系统短信内容
//这里通过内容提供者获取系统短信内容 Uri uri = Uri.parse("content://sms/"); String[] projection = {"_i ...
- Android黑科技,读取用户短信+修改系统短信数据库
安卓系统比起ios系统最大的缺点,相信大家都知道,就是系统安全问题.这篇博客就秀一波“黑科技”. 读取用户短信 Android应用能读取用户手机上的短信,相信已经不是什么新鲜事,比如我们收到的短信验证 ...
随机推荐
- 149_1秒获取Power BI Pro帐号
一.背景 当你来到这篇文章的时候,我想你已经在网上搜索了一圈了.网上有一大把教你如何注册Power BI帐号的方法,我们这里就不在赘述了.因为各种因素的限制确实比较麻烦.我们直接提供Power BI ...
- linux-ext4格式文件误删除,该如何恢复?
在开始进行实验之前,我已经新建了一个空目录/data,并将该目录挂载了一块新硬盘,将硬盘分区格式化为ext4的格式,所以当我操作/data目录下的文件及文件夹的时候,实际上就是针对新挂载的硬盘进行数据 ...
- SQL中如何修改数据库名、表名、列名?
文章目录 1.SQL中如何修改数据库的名字? 2.SQL中如何修改表的名字? 3.SQL中如何修改列的名字? 4.SQL中如何修改列的数据类型?(未完成,待续) 1.SQL中如何修改数据库名? 语法 ...
- Linux 中递归删除文件
递归删除当前目录下以 .json 结尾的文件 find . -name "*.json" | xargs rm -f find . -name "*.json" ...
- Egg上层框架CabloyJS是如何输出SQL语句日志的?
背景 在Egg开发实践中,经常会遇到一个问题:如何查看刚刚执行过的Egg组装的原生SQL语句呢? 1. 现有方案 可以直接在项目的config配置文件中添加MySQL配置debug: true.这会启 ...
- JavaScript数据类型BigInt实践之id数值太大,导致前后端交互异常
项目开发中前后端数据交互常会使用id作为主键索引,通常id数值都不大,使用number类型就可以表示处理,但对于一些分布式id或其他情况,id数值太大且超过了JS的最大处理数(Math.pow(2, ...
- QT 基于QScrollArea的界面嵌套移动
在实际的应用场景中,经常会出现软件界面战场图大于实际窗体大小,利用QScrollArea可以为widget窗体添加滚动条,可以实现小窗体利用滚动条显示大界面需求.实现如下: QT创建一个qWidget ...
- 腾讯云数据库TDSQL-大咖论道 | 基础软件的过去、现在、未来
近十年来,中国基础软件发展势头迅猛,市场前景看高,越来越多的企业也正在进行基础软件升级.那中国基础软件行业目前在国际市场上有什么优势,面临哪些困境,以及未来基础软件行业会如何发展呢?腾讯云数据库邀请沙 ...
- JS 会有变量提升和函数提升
JavaScript变量函数声明提升(Hoisting)是在 Javascript 中执行上下文工作方式的一种认识(也可以说是一种预编译),从字面意义上看,"变量提升"意味着变量和 ...
- windows下docker部署报错
报错信息:Error response from daemon: Ports are not available: exposing port TCP 0.0.0.0:8848 -> 0.0.0 ...