第三方应用发送短信,需要授予短信权限.没有权限的话. 没法运行本文中的代码. 申请短信权限,包括怎么在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;
}
全部0条评论
快来发表一下你的评论吧 !