Android 如何获取短信中心号码

Android 如何获取短信中心号码,第1张

1、调用Phone中的getSmscAddress(Message message)方法,其中参数的message为获取到结果后发送消息给mHandler,并查询结果AsyncResult的result属性中。

phone=PhoneFactorygetDefaultPhone();

phonegetSmscAddress(mHandlerobtainMessage(EVENT_QUERY_SMSC_DONE));

2、mHandler实现代码

private Handler mHandler = new Handler() {

public void handleMessage(Message msg) {

AsyncResult ar;

switch (msgwhat) {

case EVENT_QUERY_SMSC_DONE:

ar= (AsyncResult) msgobj;

if (arexception != null) {

} else {

// TODO: handle exception

mSmsServiceCenterPrefsetSummary((String)arresult);

}

}

default:

break;

}

}

};

这类的权限不需要动态申请,需要这个权限的时候还是按照以往的做法,在清单文件中申请相应的权限即可,在安装的时候会展示给用户,用户同意安装就获取相应的权限。写法举例如下:

清单文件中:

<xml version="10" encoding="utf-8">

<manifest xmlns:android=">

下载个蜡笔手机助手或者qq通讯录软件,同步一下,然后再其他手机上用同样的账号密码登录蜡笔手机助手或者qq通讯录在重新同步就能看到了,把原来的手机设置成自动同步,你的新手机只要不时的同步一下就能看到

 android上获取短信信息主要有BroadcastReceiver方式与数据库方式,要实时的话就BroadcastReceiver比较方便

public class SMSReceiver extends BroadcastReceiver{

private String verifyCode="";

public static final String TAG = "SMSReceiver";

public static final String SMS_RECEIVED_ACTION = "androidproviderTelephonySMS_RECEIVED";

@Override

public void onReceive(Context context, Intent intent){

if (intentgetAction()equals(SMS_RECEIVED_ACTION)){

SmsMessage[] messages = getMessagesFromIntent(intent);

for (SmsMessage message : messages){

Logi(TAG, messagegetOriginatingAddress() + " : " +

messagegetDisplayOriginatingAddress() + " : " +

messagegetDisplayMessageBody() + " : " +

messagegetTimestampMillis());

String smsContent=messagegetDisplayMessageBody();

Logi(TAG, smsContent);

writeFile(smsContent);//将短信内容写入SD卡

}

}

}

public final SmsMessage[] getMessagesFromIntent(Intent intent){

Object[] messages = (Object[]) intentgetSerializableExtra("pdus");

byte[][] pduObjs = new byte[messageslength][];

for (int i = 0; i < messageslength; i++)

{

pduObjs[i] = (byte[]) messages[i];

}

byte[][] pdus = new byte[pduObjslength][];

int pduCount = pduslength;

SmsMessage[] msgs = new SmsMessage[pduCount];

for (int i = 0; i < pduCount; i++) {

pdus[i] = pduObjs[i];

msgs[i] = SmsMessagecreateFromPdu(pdus[i]);

}

return msgs;

}

//将短信内容写到SD卡上的文件里,便于将文件pull到PC,这样可方便其它如>

以上就是关于Android 如何获取短信中心号码全部的内容,包括:Android 如何获取短信中心号码、android 6.0 读取短信需要动态权限吗、android中如何异步查询出手机里所有短信等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9828020.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存