短信中心号码概念
短信中心号码类似信息服务器,如果信息中心号码不正确,短消息是无法发送成功的,各个地区都有自己的信息中心号码,其中移动以+86138开头,关于该号码的获取这举例说明。
获取方法
- 1、调用Phone中的getSmscAddress(Message message)方法,其中参数的message为获取到结果后发送消息给mHandler,并查询结果AsyncResult的result属性中。
phone=PhoneFactory.getDefaultPhone();
phone.getSmscAddress(mHandler.obtainMessage(EVENT_QUERY_SMSC_DONE));
:2、mHandler实现代码
private Handler mHandler = new Handler() {
public void handleMessage(Message msg) {
AsyncResult ar;
switch (msg.what) {
case EVENT_QUERY_SMSC_DONE:
ar= (AsyncResult) msg.obj;
if (ar.exception != null) {
} else {
// TODO: handle exception
mSmsServiceCenterPref.setSummary((String)ar.result

短信中心号码的正确获取对于短消息发送至关重要,通常移动的短信中心号码以+86138开头。在Android中,直接获取可能会引发'PhoneFactory.getDefaultPhone must be called from Looper thread'异常。该异常源于不同进程间的Looper对象不一致。解决方法是在调用进程的manifest中声明并设置Activity属性。深入理解涉及到PhoneFactory、Phone对象以及Ril和PhoneBase等核心类。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



