Android MMS 之APN】的更多相关文章

APN的英文全称是Access Point Name,中文全称叫接入点,是您在通过手机上网时必须配置的一个参数,它决定了您的手机通过哪种接入方式来访问网络.用来标识GPRS的业务种类,目前分为两大类:CMWAP/UNIWAP/3GWAP(通过GPRS访问WAP业务).CMNET/UNINET/3GNET(除了WAP以外的服务目前都用CMNET,比如连接因特网等). 现网中,APN=cmnet就代表internet, APN=cmwap就代表专用WAP数据网络,当然各个运营商可能名字不一样,如联通…
从软件的功能角度来讲,Mms分为对话列表,消息列表,短信编辑,彩信编辑,短信显示,彩信显示和配置. 从实现的角度来看,它分为GUI展示层,发送/接收,彩信解析,彩信附件,信息数据等,这些分类对应着源码中的各种包. 源码导航 Mms的源码的位置在于android/packages/apps/Mms 其中Mms/src/com/android/mms里面都是Mms相关的代码,而Mms/src/org/w3c/dom里面是一个类库,主要用于彩信格式的解析和显示.这里主要讲一下Mms/src/com/a…
Composing and editing MMS在Android Mms应用里面的具体实现形式,或数据结构是SlideshowModel,它是一个每个节点为SlideModel的ArrayList,SlideModel是一个Model的List,也就是它可以接收任何Model的子类,Audio,Video,Image和Text都可以放到SlideModel上面.SlideModel主要用于管理其上面的各个媒体,比如它们的布局,它们的播放控制,而SlideshowModel主要用于管理所有的附件…
信息的接收工作是由底层来完成的,当有一个 新的信息时底层完成接收后会以Intent的方式来通知上层应用,信息的相关内容也包含在Intent当中,Android所支持的信息Intent都定 义在android.provider.Telephony.Intents里面. 短信的接收 短信接收,对于上层应用程序来讲就是要处理广播事件SMS_RECEIVED_ACTION,它是由Frameworks发出告诉上层有新的SMS已收 到.在Mms中,是由PrivilegedSmsReceiver来处理,它收到…
今天一个朋友问了我关于android网络设置的问题,感觉还是挺有趣,特分享如下: 他是在香港买了一款LGP500的手机,系统是android系统,但是回来之后不能上网,于是在网上搜了很多资料,但是设置后总是保存不成功. 他的设置如下:(因为他号是移动的,所以是按照移动的参数进行设置) 不能保存的设置 第一个接入点:手机WAP上网接入点设置名称:cmwapAPN:cmwap代理:10.0.0.172端口:80MCC:460MNC:00APN类型:wap第二个接入点:手机net上网接入点设置名称:c…
数据表MMS模块总共包含17张表:addr.android_metadata.attachments.canonical_addresses.drm.part.pdu.pending_msgs.rate.raw.sms.sr_pending.threads.words.words_content.words_segdir.words_segments. 其中,pending_msgs表用于存储待发送或下载的短信与彩信(有待证实),使用pdu中的触发器进行插入和删除.raw表用于存储接收中的长短信…
数据表 MMS模块总共包含17张表:addr.android_metadata.attachments.canonical_addresses.drm.part.pdu.pending_msgs.rate.raw.sms.sr_pending.threads.words.words_content.words_segdir.words_segments. 其中,pending_msgs表用于存储待发送或下载的短信与彩信(有待证实),使用pdu中的触发器进行插入和删除.raw表用于存储接收中的长短…
前几天接到一个需求,我们的客户需要对手机网络接入点进行可用性测试,简单点说就是需要实现Android上的APN配置的添加,APN切换网络模式4G/3G/2G切换,我要调研下写个demo. 因为是要实现自动化测试,而且得合并到现有的拨测系统(C#项目)成为其中的一个模块,就需要用C#来驱动Android测试.交互方式上首先想到的是撸个代码放Android上,定时从服务端获取任务命令然后执行,嗯,OWIN实现个webapi进行数据交互分分钟的事情,貌似可行. 不过又想到,我们测试万一网络切换坏了,就…
Composing and editing MMS在Android Mms 应用里面的具体实现形式,或数据结构是SlideshowModel,它是一个每个节点为SlideModel的 ArrayList,SlideModel是一个Model的List,也就是它可以接收任何Model的子类,Audio,Video,Image和 Text都可以放到SlideModel上面.SlideModel主要用于管理其上面的各个媒体,比如它们的布局,它们的播放控制,而 SlideshowModel主要用于管理所…
 MMS之短信的发送与接收分析: 一.信息发送: com.android.mms.data.WorkingMessage.java 类 send()函数: public void send() { ...... if (requiresMms() || addressContainsEmailToMms(conv, msgTxt)) { // 彩信 slideshow.prepareForSend(); new Thread(new Runnable() { public void run()…
接下来的分析先从MMS中四大组件(Activity ,BroadCastReceiver,Service,ContentProvider),也是MMS中最核心的部分入手: 一. Activity  1.ConversationList 对话列表界面,这是进入应用程序的主界面.它有两个配置属性android:configChanges="orientation|keyboardHidden":在Android系统中,当程序所运行的环境(如:屏幕方向.键盘状态.字体等级,等等 )发生变化后…
主界面: com.android.mms.ui.ConversationList.java  [extends ListActivity] 点击新建信息:onListItemClick -〉 position == 0 -〉createNewMessage()-〉 startActivity[ComposeMessageActivity] com.android.mms.ui.ComposeMessageActivity.java 点击发送按钮:onClick -> mSendButton ->…
彩信的接收简介: 主要是由应用程序负责从彩信服务中心(MMSC Multimedia Messaging Service Center)下载彩信信息.大致的流程是Frameworks会先发出一条短信,告知应用程序有一个彩信,短信中含有一些信息比如过期日期,发送者手机号码,彩信的URL等,然后应用程序自行通过HTTP取回URL所指的彩信内容.具体的流程为: Telephony Frameworks会先发出一个Intent:android.provider.Telephony.Intents.WAP…
来自: http://blog.csdn.net/tjy1985/article/details/6777346 http://blog.csdn.net/tjy1985/article/details/6777355 http://blog.csdn.net/tjy1985/article/details/6777983 http://www.eoeandroid.com/forum.php?mod=viewthread&tid=165974 =========================…
彩信字符集在CharacterSets类中定义 android\frameworks\opt\telephony\src\java\com\google\android\mms\pdu\CharacterSets.java public class CharacterSets { /** * IANA assigned MIB enum numbers. * * From wap-230-wsp-20010705-a.pdf * Any-charset = <Octet 128> * Equi…
 tel:协议---拨打电话 <a href="tel:">调出拨号界面</a> <a href="tel:10086">调出拨号界面并输入号码</a> 外部浏览器:直接支持打开 webview不实现setWebViewClient:直接支持打开 webview实现setWebViewClient:默认不支持,需要shouldOverrideUrlLoading方法中处理实现, if(url.startsWith(&q…
Android操作系统本身就是一个巨大的开源软件仓库,熟悉它既可以了解到Android系统的设计框架,也可以获得高效的应用程序编写方式.本文所分析的源码来自于Google官方的AOSP源码4.0.1_r1,手机的Android版本是CM 4.2.2.对于Android系统分析而言,手机的操作系统版本和源码版本有些不一致的地方不会有太大的影响,但是如果需要将源码中的修改安装到手机里面的话,最不容易遇到问题的办法就是保持手机中系统的版本和源码的版本完全一致了. 1.程序入口发现 每一个应用程序都应当…
一,Bug出现了, 需要“干掉”它 bug一听挺吓人的,但是只要你懂了,android里的bug是很好解决的,因为android里提供了LOG机制,具体的底层代码,以后在来分析,只要你会看bug, android里应用开发也就很简单了. 那我们先来看看android里的ANR,怎么出现ANR呢,很简单. # adb shell # cd data/app #  monkey   -p  com.xxx.xxx   -v   3000      (com.xxx.xxx是你应用程序的包名,如果想知…
记得第二家单位的安卓开发在上线前都用monkey压几个小时,确实也能发现些问题,崩溃率低了些,没测过的确实可以压一压 搜了下资料,monkey确实很简单,发现问题自己搜下是什么问题,别一发现什么就跑去问开发 下面介绍下monkey的原理 Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中.它向系统发送伪随机的用户事件流(如按键输入.触摸屏输入.手势输入等),实现对正在开发的应用程序进行压力测试.Monkey测试是一种为了测试软件的稳定性.健壮性的快速有效的方法. Mo…
前言: 最近开始研究Android自动化测试方法,对其中的一些工具.方法和框架做了一些简单的整理,其中包括android测试框架.CTS.Monkey.Monkeyrunner.benchmark.其它test tool等等.因接触时间很短,很多地方有不足之处,希望能和大家多多交流. 一.  什么是Monkey Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中.它向系统发送伪随机的用户事件流(如按键输入.触摸屏输入.手势输入等),实现对正在开发的应用程序进行压力测试…
TelephonyManager类主要提供了一系列用于访问与手机通讯相关的状态和信息的get方法.其中包括手机SIM的状态和信息.电信网络的状态及手机用户的信息.在应用程序中可以使用这些get方法获取相关数据. TelephonyManager类的对象可以通过Context.getSystemService(Context.TELEPHONY_SERVICE)方法来获得,需要注意的是有些通讯信息的获取对应用程序的权限有一定的限制,在开发的时候需要为其添加相应的权限. 以下列出TelephonyM…
Android 的窗口管理系统 (View, Canvas, WindowManager) 在图解Android - Zygote 和 System Server 启动分析一 文里,我们已经知道Android 应用程序是怎么创建出来的,大概的流程是 ActivityManagerService -> Zygote -> Fork App, 然后应用程序在ActivityThread 中的进入loop循环等待处理来自AcitivyManagerService的消息.如果一个Android的应用有…
文章目录: 一.Monkey简介 二.Monkey的基本用法 三.Monkey测试示例图解 四.Monkey命令参数介绍 五.Monkey log分析 一.Monkey简介 Monkey:Android中的一命令行工具,压力测试软件稳定性和健壮性 特点: 1.测试对象为程序包,有一定局限性 2.伪随机事件,不能自定义 3.可对事件数量.类型.频率设置 以下内容来自: 猴子的来源:至于Monkey的名字是有何而来的呢?这个没有去怎么考究,Monkey这个工具就是一个调皮的猴子,在App中乱按.乱摸…
Log 在android中的地位非常重要,要是作为一个android程序员不能过分析log这关,算是android没有入门吧 . 下面我们就来说说如何处理log文件 . 什么时候会有Log文件的产生 ? Log的产生大家都知道 , 大家也都知道通过DDMS来看log , 但什么时候会产生log文件呢 ?一般在如下几种情况会产生log文件 .  1,程序异常退出 , uncaused exception 2,程序强制关闭 ,Force Closed (简称FC) 3,程序无响应 , Applica…
一.为什么要用Monkey 测试?   简单在说就是象猴子一样乱点,为了测试软件的稳定性,健壮性.号称最快速有效的方法.有时候运行相同系列的测试,即使是复杂的测试,但是以相同的顺序和路径,即使一遍又一遍地运行也很少机会能发现内存和资源使用的bug.而此时猴子就比人更有效了.   简介   Monkey是一个命令行工具 ,可以运行在模拟器里或实际设备中.它向系统发送伪随机的用户事件流,实现对正在开发的应用程序进行压力测试.Monkey包括许多选项,它们大致分为四大类:   · 基本配置 选项,如设…
TelephonyManager类主要提供了一系列用于访问与手机通讯相关的状态和信息的get方法.其中包括手机SIM的状态和信息.电信网络的状态及手机用户的信息.在应用程序中可以使用这些get方法获取相关数据.TelephonyManager类的对象可以通过Context.getSystemService(Context.TELEPHONY_SERVICE)方法来获得,需要注意的是有些通讯信息的获取对应用程序的权限有一定的限制,在开发的时候需要为其添加相应的权限.以下列出TelephonyMan…
来自: http://blog.csdn.net/tjy1985/article/details/6777346 http://blog.csdn.net/tjy1985/article/details/6777355 http://blog.csdn.net/tjy1985/article/details/6777983 http://www.eoeandroid.com/forum.php?mod=viewthread&tid=165974 =========================…
Android软件时,常常需要打开系统设置或信息界面,来设置相关系统项或查看系统的相关信息,这时我们就可以使用以下语句来实现:(如打开“无线和网络设置”界面) Intent intent = new Intent("/"); ComponentName cm = new ComponentName("com.android.settings","com.android.settings.WirelessSettings"); intent.set…
Monkey测试1——Monkey的使用 原文地址: http://www.douban.com/note/257029872/ (转自豆瓣,版权属于豆瓣及豆瓣网友,如有冒犯请见谅并联系我们) Monkey的使用 一. 什么是Monkey Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中.它向系统发送伪随机的用户事件流(如按键输入.触摸屏输入.手势输入等),实现对正在开发的应用程序进行压力测试.Monkey测试是一种为了测试软件的稳定性.健壮性的快速有效的方法. 二…
在android上,视频/音频流直播是极少有人关注的一部分.每当我们讨论流媒体,RTMP(Real Time Messaging Protocol)是不可或缺的.RTMP是一个基本的视频/音频直播流协议,但是不幸的是Android标准的VideoView不支持RTMP的播放.因此,如果想在android上播放RTMP直播流,你必须使用支持RTMP协议的库.  库播放由 RTMP 协议传输的流媒体. Android Vitamio 库 Vitamio是一个android和ios上基于FFmpeg的…