
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中如何异步查询出手机里所有短信等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)