当前位置:  编程技术>移动开发
本页文章导读:
    ▪应用系统资源的引用总结以及收到短信后给一个notification提示        使用系统资源的引用总结以及收到短信后给一个notification提示 1.代码使用android.R.id  xml引用 android:id/tabhost  颜色引用 android.R.color.transparent 调用动画 android.R.anim 2. mNotificationManager = (Notification.........
    ▪ SMS有关知识学习笔记        SMS相关知识学习笔记 SMS相关知识学习笔记   1、SMS (Short Messaging Service) 系统构成: 构成整个SMS服务系统的关键网络元素包括:短消息实体、短消息服务中心、SMS网关、MSC移动交换中心、HLR归.........
    ▪ 手机无法使用debug的解决办法       手机无法使用debug的解决方法 描述:用Nexus one debug,报错:Device 'device_name' requires that applications explicitelydeclare themselves as debuggable in their manifest.Application 'com.prj.test01' does not have the attribute'de.........

[1]应用系统资源的引用总结以及收到短信后给一个notification提示
    来源: 互联网  发布时间: 2014-02-18
使用系统资源的引用总结以及收到短信后给一个notification提示

1.代码使用android.R.id  xml引用 android:id/tabhost  颜色引用 android.R.color.transparent

调用动画 android.R.anim

2.

mNotificationManager = (NotificationManager) arg0.getSystemService(Context.NOTIFICATION_SERVICE); 
Uri uri = Uri.parse("content://sms/inbox"); 
PendingIntent contentIntent = PendingIntent.getActivity(arg0, 0, new Intent(Intent.ACTION_VIEW, uri), Intent.FLAG_ACTIVITY_NEW_TASK); 
String tickerText = arg0.getString(R.string.newmsg, msgs[i].getMessageBody().toString()); 
Notification notif = new Notification(R.drawable.icon, tickerText, System.currentTimeMillis()); 
notif.setLatestEventInfo(arg0, msgs[i].getOriginatingAddress(), msgs[i].getMessageBody().toString(), contentIntent); 
notif.vibrate = new long[] { 100, 250, 100, 500 }; 
mNotificationManager.notify(R.string.recv_msg_notif_id, notif); 

上述是不能实现的

应该如此修改

Intent notificationIntent = new Intent(Intent.ACTION_MAIN); 
notificationIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP); 
notificationIntent.setType("vnd.android-dir/mms-sms"); 


    
[2] SMS有关知识学习笔记
    来源: 互联网  发布时间: 2014-02-18
SMS相关知识学习笔记

SMS相关知识学习笔记

 

1、SMS (Short Messaging Service) 系统构成:
构成整个SMS服务系统的关键网络元素包括:短消息实体、短消息服务中心、SMS网关、MSC移动交换中心、HLR归属位置寄存器等 等 ,下图是系统构成示意及体系结构:

 

 

  • SME (Short Messaging Entity) 短消息实体 :通常就是指手机,它可以接收或发送短消息,位于移动基站、固话系统(现在的固定电话也可以发送短信),或者其他服务中心;
  • SMSC (Short Message Service Center)短消息服务中心:负责在基站和SME之间,中继、储存或转发短消息。SME和SMSC之间传输短消息的协议是SMTP(Short Message Transmission Protocol)。
  • SMCGWMS/SMCGMSC (SMS-Gateway MSC) : SMS网关,接收由SMSC发送的短消息,向HLR查询路由信息,并将短消息传送给接收者所在基站的MSC交换中心;
  • HLR (Home Location Register):归属位置寄存器,用于永久储存和管理用户与服务记录的数据库。规范SMS网关与与HLR之间通讯的标准协议是SS7(被称为7号信令 ),它使得SMS网关可以要求HLR搜索可找到的用户地址,并能够保证因终端超出服务区而丢失数据报文时,重回服务区后恢复报文并予以提示。
  • MSC (Mobile Switching Center):移动交换中心,负责系统切换管理并控制来自或发向其他电话或数据系统的拔叫;
  • VLR (Visitor Location Register):访问位置寄存器,含有用户临时信息的数据库,交换中心服务访问用户时需要这些信息,它与MSC通讯的接口仍然是SS7;

 

2、SMS根据其收发源分为MO、MT二种短信:

  • MO(Mobile Originate)即终端发出的短信;
  • MT(Mobile Terminated)即终端接收的短信;

终端就是手机,相对网络设备而言被称为终端,在协议中称为短消息实体(SME),因此SP发送给手机的短信是MT短信,反之则称为MO短信。

 

 

3、SMS根据其发送格式可以分为“普通文本短信 ” 和“二进制短信 ” :

  • 普通文本短信,就是我们一般收发的文字短信,长度不超过 140个字节 ;
  • 二进制短信 ,可以理解为控制信息,例如让手机接收彩信时的mms notify,或者是将wap站点地址push到手机上的wap link等等。二进制短信可以发送长度为160个字符的ASCII代码,手机收到后会有一个解码的过程,解码结果未必是持机人可见的。如wap push信息解码后就是一个http地址,用户点击后手机就会通过gprs网络登陆wap网站,而mms notify信息解码后,根据手机设置可能会自动从网络上下载彩信内容。

4、SMS内容构成:

  • 最终地址识别符,即目标电话号码,( 必须的 );
  • 服务中心号码, 即 短消息中心号码, ( 必须的 );
  • 消息内容,消息的文本内容、或二进制字节内容;
  • 有效期,在将短消息成功送达目标用户前,SMSC需要保证的储存时间;
  • 优先性,优先处理基本;
  • 提交时间,向SMSC提交发送的时间;
  • 是否还有更多消息要发送,以及还有多少条消息要发送;

5、SMS不可达的三种情况 :

 

  • 当被SMS网关查询时,终端不在服务区域、未获服务授权,或者有未成功发送的报文正等待告警,则HLR就会立即知道不能发送;
  • MSC/VLR已收到报文但不能传送,此时,它先向SMS网关发送故障指示,然后网关一方面会向SMSC发送否定报告,另一方面向HLR发送MAP/C SET MESSAGE WAITING DATA报文,在收到报文确认后进行表格更新,该事件会储存在VLR和HLR内的用户记录中;
  • MSC/VLR向用户发送有效报文后发现不可送达;

6、SMS编程开发 :

要编程控制SMS共有三种实现途径:

 

  • 最初的Block Mode :九十年代初,AT命令仅被用于modem操作,没有控制移动电话文本消息的先例,因此开发了一种叫SMS Block Mode的协议,通过终端设备或电脑来完全控制SMS;
  • 基于AT命令的Text Mode :几年后主要的移动电话生产厂商:诺基亚、爱立信、摩托罗拉和HP共同为GSM研制了一整套AT命令,其中包含对SMS的控制,AT命令在此基础上演化并被加入GSM 07.05标准,以及之后的GSM 07.07标准;
  • 基于AT命令的PDU Mode :它是发送或接收手机SMS消息的一种方法,消息正文经过十六进制编码后进行传送;

 

参考资料:

  • Short Message Service / SMS Tutorial
  • SMS基本概念和移动通信系统介绍
1 楼 sweet 2010-06-22  
谢谢分享,正需要这方面的知识!

    
[3] 手机无法使用debug的解决办法
    来源: 互联网  发布时间: 2014-02-18
手机无法使用debug的解决方法
描述:
用Nexus one debug,报错:
Device 'device_name' requires that applications explicitely
declare themselves as debuggable in their manifest.
Application 'com.prj.test01' does not have the attribute
'debuggable' set to TRUE in its manifest and cannot be debugged


解决方法:
<application android:icon="@drawable/icon"
  android:label="@string/app_name"
  android:debuggable="true">

    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3