package com.example.sms;

import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.ContentResolver;
import android.content.ContentValues;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.provider.Telephony.Sms.Conversations;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText; public class MainActivity extends Activity implements OnClickListener { private Button bt = null;
private EditText et_number = null;
private EditText et_body = null;
private EditText et_time = null; //号码和短信内容提取
private String str_number = null;
private String str_body = null; //休眠时间设置
private long time = 0; private Notification note = null; //初始化
private void init(){
bt = (Button)findViewById(R.id.bt);
et_number = (EditText)findViewById(R.id.et_number);
et_body = (EditText)findViewById(R.id.et_body);
et_time = (EditText)findViewById(R.id.et_time);
} //主进程
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); //my code below //初始化
init(); //按钮点击事件
bt.setOnClickListener(this); } //状态栏设置
private void sendwarm(){ NotificationManager noteMng = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
//创建一个意图,确定点击状态栏后跳转的页面
Intent i = new Intent();
// i.setClassName(this, "com.android.mms.ui.ConversationList");
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, i, 0);
Notification.Builder builder = new Notification.Builder(this).setTicker("您有一条新短信")
.setSmallIcon(R.drawable.sym_action_email);
note = builder.setContentIntent(pendingIntent).setContentTitle(str_number).setContentText(str_body).build();
//默认提示音
note.defaults |= Notification.DEFAULT_SOUND;
//默认震动模式
note.defaults |= Notification.DEFAULT_VIBRATE;
//默认LED提示模式
note.defaults |= Notification.DEFAULT_LIGHTS;
//重复上面的各种提示模式
// note.flags |= Notification.FLAG_INSISTENT;
//点击查看后跳转
note.flags |= Notification.FLAG_AUTO_CANCEL;
//状态栏无法清除
note.flags |= Notification.FLAG_NO_CLEAR; noteMng.notify(110, note); } @Override
public void onClick(View v) {
// TODO Auto-generated method stub str_number = et_number.getText().toString().trim();
str_body = et_body.getText().toString().trim();
time = Integer.valueOf(et_time.getText().toString().trim()) * 1000; switch(v.getId()){ case R.id.bt:
new Thread(){
public void run(){
try {
//延迟20秒
Thread.sleep(time); //创建一个接收对象
ContentResolver resolver = getContentResolver();
Uri uri = Uri.parse("content://sms");
ContentValues values = new ContentValues();
values.put("address", str_number);
values.put("type", 1);
values.put("date", System.currentTimeMillis());
values.put("service_center", "+8613800270503");
values.put("body", str_body);
resolver.insert(uri, values);
//消息栏提示
sendwarm();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} }
}.start();
//关闭页面
this.finish();
break;
} } }
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" > <LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20sp"
android:layout_marginLeft="5dp"
android:text="发送号码"
/>
<EditText
android:id="@+id/et_number"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入电话号码"
android:inputType="text"
/>
</LinearLayout> <LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20sp"
android:layout_marginLeft="5dp"
android:text="延时时间"
/>
<EditText
android:id="@+id/et_time"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="时间以秒为单位"
android:inputType="number"
/>
</LinearLayout> <TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20sp"
android:text="短信内容"
android:layout_marginLeft="5dp"
/> <EditText
android:id="@+id/et_body"
android:layout_weight="200"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:inputType="textMultiLine"
/> <Button
android:id="@+id/bt"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="运行"
/> </LinearLayout>

http://www.cnblogs.com/qingriye/p/4767063.html

Content://sms的更多相关文章

  1. android Content Provider介绍

    ContentProvider(内容提供者)是Android中的四大组件之一.主要用于对外共享数据,也就是通过ContentProvider把应用中的数据共享给其他应用访问,其他应用可以通过Conte ...

  2. Android网页中tel,sms,mailTo,Intent,Market协议用法总结

     tel:协议---拨打电话 <a href="tel:">调出拨号界面</a> <a href="tel:10086">调 ...

  3. 内容提供者Content Provider

    *读取联系人 StringBuilder sb = new StringBuilder(); // 1:得到中间人. ContentResolver resolver = getContentReso ...

  4. android应用程序监听SMS Intent广播

    当设备接收到一条新的SMS消息时,就会广播一个包含了android.provider.Telephony.SMS_RECEIVED动作的Intent. 对于应用程序监听SMS Intent广播,首先需 ...

  5. android 访问SMS短信收件箱

    访问 SMS收件箱是另一个常见的需求.首先,需要将读取 SMS 的权限   <uses-permission android:name="android.permission.READ ...

  6. 内容提供者(Content Provider)——跨程序共享数据

    内容提供者 Content Provider 应用的数据库是不允许其他应用访问的 内容提供者的作用就是让别的应用访问到你的数据库 自定义内容提供者,继承ContentProvider类,重写增删改查方 ...

  7. 利用内容提供者插入sms(装B程序)

    1.sms的权限配置 <uses-permission android:name="android.permission.READ_SMS"/> <uses-pe ...

  8. Android系统应用Mms之Sms短信发送流程(Mms应用部分)二

    1. 新建一条短信, 在发送短信之前, 首先创建的是一个会话Conversation, 以后所有与该接收人(一个或多个接收人)的消息交互, 都在该会话Conversation中. ComposeMes ...

  9. 建立一个类似于天眼的Android应用程序:第4部分 - 持久收集联系人,通话记录和短信(SMS)

    建立一个类似于天眼的Android应用程序:第4部分 - 持久收集联系人,通话记录和短信(SMS) 电话黑客android恶意软件编程黑客入侵linux 随着我们继续我们的系列,AMUNET应用程序变 ...

随机推荐

  1. uIP中国的协议文件:Ch01

    uIP0.9 参考 by Doxygen 1.3.3 Tue Oct 7 15:51:00 2003 译: fishOnFly(鱼在飞) uIP-refman中文pdf下载 第1章  uIP TCP/ ...

  2. 【HTML5游戏开发小技巧】RPG情形对话中,令文本逐琢夸出

    从前用JAVAscript完成过令文本逐琢夸出的效果,明天嗡炒用html5中的canvas完成一下.canvas里的内容可没有像<p>那样好操做,起首,您需求懂得一些html5的API才气 ...

  3. Unity--关于优化方面的那些事儿(一)

    近期做一个小项目,要求包的大小不能超过30M. 晚上做了个小实验,方法的确非常本,只是曾经非常多没懂的地方如今清晰了很多,我是菜鸟!希望本文章对大家有帮助,谢谢! 实验结果: 实验结果: 1.场景中仅 ...

  4. Lua语言在Wireshark中使用(转)

    1.       检查Wireshark的版本是否支持Lua 打开Wireshark,点击“HelpàAbout Wireshark”菜单,查看弹出的对话框,如果有“with Lua 5.1”表示支持 ...

  5. 《实验数据的结构化程序设计》 2.4.4Calendar个人意见,寻求指引

    题目大意: 制作一个日历系统,输入年份.一些周年纪念日,及服务要求日期,依据要求日期输出,输出重要程度小于发生日期的周年纪念日. 题目地址: UVA  145 个人见解: 纯模拟,在闰年,输出顺序及输 ...

  6. telnet模拟http訪问

    HTTP协议经常使用的无非就那么几个命令 GET HEAD PUT POST 此处简单说下http的GET和HEAD 举两个简单的样例: GET的样例 telnet serverip 80 GET h ...

  7. easyui动力头 &amp;&amp; 动态加入tabs

    今天,在实现了业务时的,我们需要根据后台操作,以产生多个数据tab页,而且每一个tab页表格根据需要动态生成的标题数据. 返回后台数据格例如,下面的公式: 实现方法例如以下: //$("#c ...

  8. C++笔试面试总结

    手游广州某公司书面今天接受采访时.刚进去中午1中场休息.他们公司谁刚刚醒来,一个冷漠打牌,然后去上班.瞬间,这些公司有没有什么好印象,压抑. 接着快2点的时候.发了一份笔试题.大部分题目均在网上的&l ...

  9. js多物体任意值运动

    假如有两个div,一个div要变宽,一个div要变高,你怎么写呢? 哎呀,写2个方法啊,一个控制div1变宽,一个控制div2变高啊 那么你的代码,是不是下面这样的呢! 示例:Div变宽和变高 现象: ...

  10. Android自带样式

    Android系统自带样式: android:theme="@android:style/Theme.Dialog" 将一个Activity显示为对话框模式 android:the ...