- 浏览: 3566544 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (1491)
- Hibernate (28)
- spring (37)
- struts2 (19)
- jsp (12)
- servlet (2)
- mysql (24)
- tomcat (3)
- weblogic (1)
- ajax (36)
- jquery (47)
- html (43)
- JS (32)
- ibatis (0)
- DWR (3)
- EXTJS (43)
- Linux (15)
- Maven (3)
- python (8)
- 其他 (8)
- JAVASE (6)
- java javase string (0)
- JAVA 语法 (3)
- juddiv3 (15)
- Mule (1)
- jquery easyui (2)
- mule esb (1)
- java (644)
- log4j (4)
- weka (12)
- android (257)
- web services (4)
- PHP (1)
- 算法 (18)
- 数据结构 算法 (7)
- 数据挖掘 (4)
- 期刊 (6)
- 面试 (5)
- C++ (1)
- 论文 (10)
- 工作 (1)
- 数据结构 (6)
- JAVA配置 (1)
- JAVA垃圾回收 (2)
- SVM (13)
- web st (1)
- jvm (7)
- weka libsvm (1)
- weka屈伟 (1)
- job (2)
- 排序 算法 面试 (3)
- spss (2)
- 搜索引擎 (6)
- java 爬虫 (6)
- 分布式 (1)
- data ming (1)
- eclipse (6)
- 正则表达式 (1)
- 分词器 (2)
- 张孝祥 (1)
- solr (3)
- nutch (1)
- 爬虫 (4)
- lucene (3)
- 狗日的腾讯 (1)
- 我的收藏网址 (13)
- 网络 (1)
- java 数据结构 (22)
- ACM (7)
- jboss (0)
- 大纸 (10)
- maven2 (0)
- elipse (0)
- SVN使用 (2)
- office (1)
- .net (14)
- extjs4 (2)
- zhaopin (0)
- C (2)
- spring mvc (5)
- JPA (9)
- iphone (3)
- css (3)
- 前端框架 (2)
- jui (1)
- dwz (1)
- joomla (1)
- im (1)
- web (2)
- 1 (0)
- 移动UI (1)
- java (1)
- jsoup (1)
- 管理模板 (2)
- javajava (1)
- kali (7)
- 单片机 (1)
- 嵌入式 (1)
- mybatis (2)
- layui (7)
- asp (12)
- asp.net (1)
- sql (1)
- c# (4)
- andorid (1)
- 地价 (1)
- yihuo (1)
- oracle (1)
最新评论
-
endual:
https://blog.csdn.net/chenxbxh2 ...
IE6 bug -
ice86rain:
你好,ES跑起来了吗?我的在tomcat启动时卡在这里Hibe ...
ES架构技术介绍 -
TopLongMan:
...
java public ,protect,friendly,private的方法权限(转) -
贝塔ZQ:
java实现操作word中的表格内容,用插件实现的话,可以试试 ...
java 读取 doc poi读取word中的表格(转) -
ysj570440569:
Maven多模块spring + springMVC + JP ...
Spring+SpringMVC+JPA
<!-- [if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:PunctuationKerning/> <w:DrawingGridVerticalSpacing>7.8 磅</w:DrawingGridVerticalSpacing> <w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery> <w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery> <w:ValidateAgainstSchemas/> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:Compatibility> <w:SpaceForUL/> <w:BalanceSingleByteDoubleByteWidth/> <w:DoNotLeaveBackslashAlone/> <w:ULTrailSpace/> <w:DoNotExpandShiftReturn/> <w:AdjustLineHeightInTable/> <w:BreakWrappedTables/> <w:SnapToGridInCell/> <w:WrapTextWithPunct/> <w:UseAsianBreakRules/> <w:DontGrowAutofit/> <w:UseFELayout/> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!-- [if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> </w:LatentStyles> </xml><![endif]--><!-- [if gte mso 10]> <style> /* Style Definitions */ table.MsoNormalTable {mso-style-name:普通表格; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman"; mso-ansi-language:#0400; mso-fareast-language:#0400; mso-bidi-language:#0400;} </style> <![endif]-->
andoird 2010-03-23 15:59:00 阅读 115 评论 1 字号: 大中 小
1.android
发送短信
android API
中提供了
smsManager
类处理短信。其中的
sendTextMessage(num, null, content, pend, null)
函数就是发送
短信的方法。第一个参数为目标者手机号、第二个参数为短信中心地址
null
为默认地址、
第三个参数短信的文本内容、第四个参数是一个
intent
会把发送结果带回。第五个参数不知,一般为
null
。
一个应用程序要具备发送短信功能,需要在
androidManifest.xml
中加入
android.permission.SEND_SMS
权限。
在模拟器中发送中文会接收方出现乱码的问题,但是在真机中,就不会出现乱码的情况了。所以
开发者只需要正常开发短信功能,不需要编码转换。
接收短信也是比较方便的,主要是继承
BroadcaseReceiver
类
,
覆盖
onReceive
函数:
1:
相关类:
android.content.BroadcastReceiver
android.telephony.gsm.SmsMessage;
2:example code.
public class MessageDemo extends BroadcastReceiver {
private static final String strACT =
"android.provider.Telephony.SMS_RECEIVED";
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(strACT)) {
StringBuilder sb = new StringBuilder();
Bundle bundle = intent.getExtras();
if (bundle != null) {
Object[] pdus = (Object[]) bundle.get("pdus");
SmsMessage[] msg = new SmsMessage[pdus.length];
for (int i = 0; i < pdus.length; i++) {
msg[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);
}
for (SmsMessage currMsg : msg) {
sb.append("From:");
sb.append(currMsg.getDisplayOriginatingAddress());
sb.append("\nMessage:");
sb.append(currMsg.getDisplayMessageBody());
}
}
}
}
}
3:
相关的配置
修改
AndroidManifest.xml
,在
Activity
下添加
receiver
节点:
<receiver android:name="MessageDemo">
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED"
/>
</intent-filter>
</receiver>
随后在
application
下添加节点:
<uses-permission
android:name="android.permission.SEND_SMS"></uses-permission>
<uses-permission
android:name="android.permission.RECEIVE_SMS"></uses-permission>
4:
使用
BroadReceiver
的弊端
查看
BroadReceiver sdk reference ,
可以了解到所有的
BroadReceiver
对短信的接收是无顺序的状态
,即使是使用了
Ordered broadcasts
对于同等优先级别的
BroadReceiver ,
也会产生无顺序的行为。
所以下面介绍另一种接收短信的行为,包括其中可以进行短信的删除。
5
:从数据库端监听
sms
的收发
//
如下
主要用于内部数据库改变,向外面的界面
(Activity)
做反应
class SMSHandler extends Handler
{
public void handleMessage(Message
msg)
{
//Handle message
}
}
//
对收到短消息后,做出的处理
,
这里直接删除,并没有反应到界面,所以上面的
handleMessage
是空的。
class SMSObserver extends ContentObserver
{
private Handler m_handle = null;
public SMSObserver(Handler handle)
{
super(handle);
m_handle = handle;
}
public void onChange(boolean
bSelfChange)
{
super.onChange(bSelfChange);
//Send message to Activity
Message msg = new Message();
msg.obj = "xxxxxxxxxx";
m_handle.sendMessage(msg);
String strUriInbox = "content://sms/inbox";
Uri uriSms = Uri.parse(strUriInbox);
//If you want to access all SMS, just replace the uri string to
"content://sms/"
Cursor c = mContext.getContentResolver().query(uriSms, null, null, null, null);
// delete all sms here when every new sms occures.
while (c.moveToNext())
{
//Read the contents of the SMS;
for(int i; i < c.getColumnCount();
i++)
{
String strColumnName =
c.getColumnName(i);
String strColumnValue =
c.getString(i);
}
//Delete the SMS
String pid = c.getString(1);
//Get thread id;
String uri = "content://sms/conversations/"
+ pid;
mContext.getContentResolver().delete(Uri.parse(uri), null, null);
}
}
}
//
把基本类功能性地应用起来
ContentResolver contentResolver = getContentResolver();// Context
环境下
getContentResolver()
Handler handler = new SMSHandler();
ContentObserver m_SMSObserver = new SMSObserver(handler);
contentResolver.registerContentObserver(Uri.parse("content://sms/inbox"),true,
m_SMSObserver);
//Register to observe SMS in outbox,we can observe SMS in other location by changing
Uri string, such as inbox, sent, draft, outbox, etc.)
// some Available Uri string
for sms.
/*
String strUriInbox =
"content://sms/inbox";//SMS_INBOX:1
String strUriFailed =
"content://sms/failed";//SMS_FAILED:2
String strUriQueued = "content://sms/queued";//SMS_QUEUED:3
String strUriSent =
"content://sms/sent";//SMS_SENT:4
String strUriDraft =
"content://sms/draft";//SMS_DRAFT:5
String strUriOutbox =
"content://sms/outbox";//SMS_OUTBOX:6
String strUriUndelivered =
"content://sms/undelivered";//SMS_UNDELIVERED
String strUriAll =
"content://sms/all";//SMS_ALL
String strUriConversations =
"content://sms/conversations";//you can delete one conversation by
thread_id
String strUriAll =
"content://sms"//you can delete one message by _id
*/
REMEBER: must request following permission
1) Read SMS
<uses-permssion
android:name="android.permission.READ_SMS" />
2) Delete/Modify/Send SMS
<uses-permssion
android:name="android.permission.WRITE_SMS" />
in AndroidManifest.xml
发表评论
-
android离线
2019-11-04 21:25 298https://www.jianshu.com/p/fdfc4 ... -
android 异步更新
2015-07-11 22:42 1501http://www.apkbus.com/forum.php ... -
仿微米
2015-06-26 10:22 0http://www.javaapk.com/source/4 ... -
仿微信
2015-06-26 10:21 1919http://www.javaapk.com/source/1 ... -
网易客户端
2015-06-26 10:20 1604http://www.javaapk.com/source/4 ... -
仿朋友圈
2015-06-26 10:18 1701http://www.javaapk.com/source/8 ... -
仿朋友圈
2015-06-26 10:13 1837http://www.eoeandroid.com/threa ... -
全国ABC查询
2015-06-26 10:07 1370IM 功能 环信云 信息统计 Umeng 分享Umeng 更新 ... -
android 判断网络
2015-06-25 16:00 1266http://www.cnblogs.com/renqingp ... -
android 多彩表格
2015-05-31 16:06 1475http://blog.csdn.net/conowen/ar ... -
android socket
2015-05-31 16:01 1646http://blog.csdn.net/conowen/ar ... -
微信播放语音3
2015-02-25 12:00 1433http://download.csdn.net/detail ... -
微信语音播放2
2015-02-25 11:57 1359http://download.csdn.net/detail ... -
微信语音播放
2015-02-25 11:56 1707http://www.apkbus.com/android-1 ... -
超强的资料整合
2015-01-05 11:04 1223http://zz563143188.iteye.com/bl ... -
最强开发资源平台大合集
2015-01-04 14:50 1885程序员代码应用开发平 ... -
Android-Universal-Image-Loader 图片异步加载类库的使用(超详细配置)
2014-09-04 15:45 1378http://blog.csdn.net/vipzjyno1/ ... -
android应用推广
2014-09-03 23:25 1315应用推广不必愁,有米 ... -
android 图片异步加载
2014-09-03 16:47 1132http://www.csdn.net/article/201 ... -
android hander的使用
2014-09-02 23:46 1362http://www.cnblogs.com/xiaoran1 ...
相关推荐
在Android平台上,发送和接收短信是一项常见的功能,主要涉及到`SMSManager`类和`BroadcastReceiver`组件。下面将详细介绍这两个核心知识点。 1. **发送短信**: - `SMSManager`是Android SDK提供的一个类,它负责...
总结来说,实现Android短信的发送和接收功能,需要合理配置清单文件权限、正确注册和实现广播接收器,以及设计用户友好的发送界面,并且在适当时刻处理运行时权限。这些知识点的掌握对于开发能够处理短信收发功能的...
- `sentIntent`: 用于接收发送结果的BroadcastReceiver Intent,当短信发送成功或失败时将被触发。 - `deliveryIntent`: 用于接收送达结果的BroadcastReceiver Intent,当短信被接收方接收后将被触发。 #### 三、...
通常,短信存储在`content://sms/`这个URI下,分为收件箱(inbox)、草稿箱(drafts)、发件箱(sent)和已发送(outbox)四个类别。 ```java ContentResolver contentResolver = getContentResolver(); Uri smsUri...
在Android平台上,开发一个短信发送程序是一个常见的任务,它涉及到Android SDK中的许多核心组件和API。这个程序的主要目的是允许用户向其他设备发送短信,这里特别提到了在两个模拟器之间进行信息传递。以下是对这...
总的来说,"Android Studio自动发短信源码"项目涉及到的知识点包括Android Studio的开发环境、权限管理、Intent机制、`SMSManager`的使用以及Service的运用。理解并掌握这些概念,将有助于你构建自己的自动发短信...
在Android平台上,短信接收器(SMS Receiver)是Android广播接收者(BroadcastReceiver)的一个实例,用于监听并处理系统发出的短信到达的广播事件。本文将详细介绍如何使用Android Eclipse开发环境来创建一个短信...
在AndroidManifest.xml文件中,你需要声明`<uses-permission>`标签来获取发送和接收短信的权限。例如: ```xml <uses-permission android:name="android.permission.SEND_SMS" /> <uses-permission android:name...
总结起来,这个Android案例展示了如何利用Intent来拨打电话和发送短信。通过理解Intent的工作原理和权限管理,开发者可以轻松地将这些功能集成到自己的应用程序中,为用户提供更丰富的交互体验。在实际开发中,根据...
在Android平台上,发送短信是常见的功能之一,可以用于通知、验证或者其他交互式应用。这篇文章将深入探讨如何在Android中调用系统短信服务以及如何实现秘密发送短信。 首先,调用系统短信服务通常涉及到使用...
5. **权限管理**: 在AndroidManifest.xml中,需要添加发送短信所需的权限 `<uses-permission android:name="android.permission.SEND_SMS" />`,否则应用将无法发送短信。 6. **线程管理**: 发送短信可能需要较长的...
- Android提供了SmsManager类,用于处理短信的发送和接收。开发者可以通过调用其方法,如`sendTextMessage()`,来实现短信的发送功能。 5. **ContentProvider**: - 对于读取和存储短信,应用可能需要访问系统的...
在Android系统中,处理短信事件通常涉及到`SmsManager`类,它是Android SDK提供的用于发送和接收短信的接口。`SMSNotify`可能通过注册广播接收器(`BroadcastReceiver`)监听`ACTION_SMS_RECEIVED`广播,来实现实时...
此方法需要收件人的电话号码、短信内容和一个PendingIntent,用于接收发送结果。 5. **权限请求**: 自Android 6.0 (API level 23)起,运行时权限管理引入,即使在Manifest中声明了SEND_SMS权限,应用仍需在运行时...
总结来说,"Android-SMS302短信或者来电转发到Email"项目涉及到的主要知识点有:Android权限管理、BroadcastReceiver的使用、ContentResolver操作短信和通话记录、SMTP邮件发送、以及用户体验优化。开发者需要掌握...
使用Android的布局文件(如activity_main.xml)和UI组件(如EditText、Button、ListView等)来构建发送、接收和收藏短信的界面。RecyclerView常用于展示短信列表,因为它具有高效的滚动性能。 6. **自定义Adapter**...
开发者可以通过这个类的`sendTextMessage()`方法来发送文本短信,指定接收者的电话号码和短信内容。 7. **BroadcastReceiver**: 在某些情况下,可能需要监听短信发送的状态,比如成功、失败或者被阻止。这时,可以...
在这个项目中,可能有一个XML文件用于创建列表视图,其中包含短信条目的各个字段,如发件人、接收时间、短信内容等。 4. **Intent**:Intent在Android中用于启动其他组件或传递数据。在这个应用中,可能使用Intent...
在开发这样一个应用时,我们需要在`AndroidManifest.xml`文件中声明相应的权限,包括读取和写入短信的权限。这可以通过添加以下代码实现: ```xml <uses-permission android:name="android.permission.READ_SMS" />...
在Android平台上,短信和电话拦截是一项重要的功能,它允许开发者创建应用程序来管理用户接收到的通信。本项目涉及的是一个已经编写完成的Android应用,它能够实现短信和电话的拦截功能,用户导入到Eclipse IDE中...