Autojs多卡手机后台静默发送短信

描述

第三方应用发送短信,需要授予短信权限.没有权限的话. 没法运行本文中的代码. 申请短信权限,包括怎么在AndroidManifast.xml文件中声明权限,百度一下就有答案. 这里不赘述了, pro版的Autojs,有专门的配置权限的选项,更简单一些. 免费版的autojs版本,就需要用一些改包工具,去修改AndroidManifast.xml文件中的权限声明了,比如mt文件管理器.修改完apk包,因为签名被修改了,所以会提示有风险,这点可以无须理会,并不是说植入了病毒,apk仍然可正常安装运行.

如果说,有些新朋友对于autojs这款自动化工具的使用不太了解的, 后面我会做几期文章,讲解一下.

关于静默发送短信的脚本代码, 我之前也写过一篇文章,可以参考一下:

Autojs后台静默发短信.

好了关于使用多卡多待的手机在后台发送短信,可参考下面的代码:

importClass( android.content.Context );
importClass( java.lang.Class );
importClass( java.lang.Integer );
importClass( android.telephony.SmsManager );


let phone = "10086";
let message = "1";
//使用卡1发短信填1 使用卡2发短信填2
let smsCard = 2;


getSms( smsCard ).sendTextMessage( phone, null, message, null, null );


function getSms( choiceSms ) {
    let sms = SmsManager.getDefault();
    let subscriptionManager = context.getSystemService( Context.TELEPHONY_SUBSCRIPTION_SERVICE );
    let list = subscriptionManager.activeSubscriptionInfoList;
    if ( list.size() < 2 ) {
        console.log("非双卡手机");
        exit();
    }
    let smsArray = list.toArray();
    var jsArray = [];
    for ( let i in smsArray ) {
        let smsId = smsArray[ i ].toString().split( "," )[0].split( "=" )[1];
        jsArray.push( smsId );
    }


    let clazz = Class.forName( "android.telephony.SmsManager" );
    let field = clazz.getDeclaredField( "mSubId" );
    field.setAccessible( true );
    field.set( sms, new Integer( jsArray[ choiceSms - 1 ] ) );
    return sms;
}
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分