请注意下面程序中的黑体部分:
package irdc.EX06_05;
import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.telephony.SmsMessage;
import android.widget.TextView;
import android.widget.Toast;
public class EX06_05 extends Activity
{
/*声明一个TextView,String阵在与两个文字字符串变量*/
private TextView mTextView1;
public String[] strEmailReciver;
public String strEmailSubject;
public String strEmailBody;
/* 系统接收短信的广播ACTION常数 */
private static final String HIPPO_SMS_ACTION = "android.provider.Telephony.SMS_RECEIVED";
private mSMSReceiver mReceiver01;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
/*透过findViewById构造巳建立TextView对象*/
mTextView1 = (TextView) findViewById(R.id.myTextView1);
mTextView1.setText("等待接收短信...");
}
public class mSMSReceiver extends BroadcastReceiver
{
/*声明静态字符串,并使用android.provider.Telephony.SMS_RECEIVED作为Action为短信的依据*/
private static final String mACTION = "android.provider.Telephony.SMS_RECEIVED";
private String str_receive="收到短信!";
private String strRet = "";
@Override
public void onReceive(Context context, Intent intent)
{
// TODO Auto-generated method stub
Toast.makeText(context, str_receive.toString(), Toast.LENGTH_LONG).show();
/*判断传来Intent是否为短信*/
if (intent.getAction().equals(mACTION))
{
/*构造一个字符串变量sb*/
StringBuilder sb = new StringBuilder();
/*接收由Intent传来的数据*/
Bundle bundle = intent.getExtras();
/*判断Intent是有资料*/
if (bundle != null)
{
/* pdus为 android内建短信参数 identifier
* 透过bundle.get("")并传pdus的对象*/
Object[] myOBJpdus = (Object[]) bundle.get("pdus");
/*构造短信对象array,并依据收到的对象长度来建立array的己弋*/
SmsMessage[] messages = new SmsMessage[myOBJpdus.length];
for (int i = 0; i<myOBJpdus.length; i++)
{
messages[i] = SmsMessage.createFromPdu ((byte[]) myOBJpdus[i]);
}
strRet = "";
/* 将送来的短信安并自定义信息在StringBuilder当中 */
for (SmsMessage currentMessage : messages)
{
strRet = "接收到来自:"+currentMessage.getDisplayOriginatingAddress()+" 传来的短信"+currentMessage.getDisplayMessageBody();
sb.append("接收到来自:\n");
/* 发信人的电话号码 */
sb.append(currentMessage.getDisplayOriginatingAddress());
sb.append("\n------传来的短信------\n");
/* 取得传来短信的BODY */
sb.append(currentMessage.getDisplayMessageBody());
}
}
/* 以Notification(Toase)显示短信内容 */
Toast.makeText(context, sb.toString(), Toast.LENGTH_LONG).show();
/*自定义Intent来执行寄送E-mail的实现*/
Intent mEmailIntent = new Intent(android.content.Intent.ACTION_SEND);
/*设定邮件格式为"plain/text"*/
mEmailIntent.setType("plain/text");
/*取得EditText01,02,03,04的值作为收件,附件,主题,内容*/
String strEmailReciver = "jay.mingchieh@gmail.com";
String strEmailSubject = "有几条短信!!";
/*将取得的?串放丈mEmailIntent中*/
mEmailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, strEmailReciver);
mEmailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, strEmailSubject);
mEmailIntent.putExtra(android.content.Intent.EXTRA_TEXT, strRet);
context.startActivity(Intent.createChooser(mEmailIntent, getResources().getString(R.string.str_message)));
mTextView1.setText(getResources().getString(R.string.str_message));
}
}
}
@Override
protected void onPause()
{
// TODO Auto-generated method stub
super.onPause();
unregisterReceiver(mReceiver01);
}
@Override
protected void onResume()
{
// TODO Auto-generated method stub
IntentFilter mFilter01;
mFilter01 = new IntentFilter(HIPPO_SMS_ACTION);
mReceiver01 = new mSMSReceiver();
registerReceiver(mReceiver01, mFilter01);
super.onResume();
}
}
分享到:
相关推荐
这个名为“西门子PLC例程-S7发短信例子.zip”的压缩包包含了一个具体的示例,演示了如何使用西门子S7系列PLC发送短信。S7系列是西门子的主流PLC产品线,包括S7-200、S7-300和S7-400等,其中S7-300和S7-400常用于复杂...
在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天...
标题提到的"电信设备-一种具有短信通知功能的清洗消毒器"就是一个典型的例子,它将电信技术融入了清洗消毒设备,为用户提供了一种全新的智能体验。接下来,我们将深入探讨这个话题,解析其背后的科技知识点。 首先...
MAS接口(Mobile Application Server,移动应用服务器接口)是用于移动通信系统中的一个关键组件,它为开发者提供了与移动网络交互的能力,尤其是处理短信服务(SMS)和其他增值业务。通过MAS接口,开发者可以创建...
总的来说,这份压缩包资料提供了51单片机的基础知识,特别是串口通信和短信功能的实现,以及一个具体的51单片机闹钟程序实例。对于初学者或希望扩展51单片机应用能力的工程师来说,这是一个宝贵的参考资料。
- **SmsOpen**: 这个函数用于创建一个用于短信操作的句柄。函数原型如下: ```cpp HRESULT SmsOpen( const LPCTSTR ptsMessageProtocol, const DWORD dwMessageModes, SMS_HANDLE* const psmshHandle, HANDLE...
在IT行业中,短信服务(SMS,Short Message Service)的开发是一项常见的需求,特别是在移动应用、企业内部通信或者营销活动中。本资源提供了多个编程语言的短信开发示例,包括C#、C++Builder、Delphi、PowerBuilder...
1. **定期检查**:看门狗程序会设定一个固定的间隔时间(在这个例子中是每3秒钟)来检查目标进程是否活跃。这个检查通常包括验证进程ID、检查进程的状态(如运行、暂停、终止)以及进程是否在执行预期的任务。 2. *...
“晚安短信”标签明确了App的主要用途,而“简单app例子”则表明这是一个教学或示例性质的项目,适合初学者模仿和学习。通过这样的例子,开发者可以学习如何处理时间触发的事件(如定时任务)、如何与操作系统进行...
Java短信收发技术是软件开发中的一个重要组成部分,特别是在企业级应用和移动通信解决方案中。SMSLIB是一个用Java编写的开源库,它提供了短信发送和接收的功能,为开发者提供了方便的API来实现短信服务。本篇将详细...
- **实例说明**:许多应用程序会在任务栏的系统托盘区域放置一个小图标,点击该图标会弹出一个菜单,提供应用程序的主要功能选项。 - **技术要点**: - 注册系统托盘图标。 - 设计简洁易用的菜单布局。 **实例005...
下面是一个简单的发送短信的例子: ```java // 获取SmsManager的默认实例 SmsManager smsManager = SmsManager.getDefault(); // 构建要发送的短信内容 String message = "Hello, this is a test message."; // ...
总结一下,这个“sms.rar”包含了一个用于Java平台的短信服务开发包,提供短信发送和接收的API,附带示例代码和详细的文档,还有开发者网站的支持。开发者可以通过这个包轻松地在自己的Java应用中集成短信功能,无论...
多人聊天+用户在线 21个目标文件 摘要:JAVA源码,媒体网络,山寨QQ,Java聊天程序 Java编写的山寨QQ,多人聊天+用户在线,程序分服务端和客户端,典型C/S结构, 当用户发送第一次请求的时候,验证用户登录,创建一个该...
在Android应用开发中,Intent是一种强大的机制,用于在不同的组件之间传递消息,它扮演着应用程序内部或不同应用程序之间通信的重要角色。"intent跳转到短信和电话界面"这个主题主要涉及如何利用Intent来启动系统...
多人聊天+用户在线 21个目标文件 摘要:JAVA源码,媒体网络,山寨QQ,Java聊天程序 Java编写的山寨QQ,多人聊天+用户在线,程序分服务端和客户端,典型C/S结构, 当用户发送第一次请求的时候,验证用户登录,创建一个该...
压缩包内有两个源码包,一个是注册机源程序,另一个是解密机的源程序,一套完整的参考实例。 VC+MapX源码含GPS跟踪演示 VC3D 利用VC编程在界面上实现3D文字 在MFC应用程序中浏览PDF、Word文档文件 vcdialog 自...
在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天...
在这个场景下,“js代码-中山医院发送短信”可能指的是一个用JavaScript编写的程序,用于在中山医院的在线系统中发送短信通知或验证。这个程序可能是为了提高医疗服务的效率,比如向患者发送预约确认、检查结果或者...
在这个例子中,我们创建了一个简单的Activity,包含两个按钮,一个用于动态注册BroadcastReceiver,另一个用于注销。BroadcastReceiver监听SMS_RECEIVED事件,当收到新短信时会执行相应的操作。 ```java public...