Content://sms

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

时间: 2024-10-08 07:27:16

Content://sms的相关文章

ContentProvider的自定义及SMS和CONTACTS的内容提供者

1.自定义内容提供者 首先创建extends ContentProvider的类 package com.txs.db; import android.content.ContentProvider; import android.content.ContentValues; import android.content.UriMatcher; import android.database.Cursor; import android.database.sqlite.SQLiteDatabas

android应用程序监听SMS Intent广播

当设备接收到一条新的SMS消息时,就会广播一个包含了android.provider.Telephony.SMS_RECEIVED动作的Intent. 对于应用程序监听SMS Intent广播,首先需要添加RECEIVE_SMS权限.通过在应用程序manifest中添加一个uses-permission,如下面的片段所示: <uses-permission android:name="android.permission.RECEIVE_SMS"/> AndroidMani

android 访问SMS短信收件箱

访问 SMS收件箱是另一个常见的需求.首先,需要将读取 SMS 的权限 <uses-permission android:name="android.permission.READ_SMS"/> 添加到描述文件中.添加此权限后就可以读取SMS收件箱中的 短消息了. 要读取 SMS 消息,必须对SMS收件箱执行查询,下面是我们的 代码清单. 布局文件 <?xml version="1.0" encoding="utf-8"?>

关于SMS短信滞后阅读的实现方案

我大概描述下公司项目:公司App是进行手机联系人之间的加密电话,加密短信,加密密聊. 我大概描述下我接的一个任务:我是公司App的用户,并且在线,此刻其他App在线用户,用App的密信功能给我发了一条短信(注意不是手机系统短信发送的,而是App密信功能发来的),此刻我实时收到,因为我在线. 那么任务来了,我退出App,此刻对方再次给我发来一条SMS短信,任务要求是我登录App,能在密信列表收到在我退出App时候,对方给我发来的一条短信 SMSProcessor.instance.register

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

1.sms的权限配置 1 <uses-permission android:name="android.permission.READ_SMS"/> 2 <uses-permission android:name="android.permission.WRITE_SMS"/> 2.java代码 1 package com.example.makeasms; 2 3 import android.net.Uri; 4 import andro

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

内容提供者 Content Provider 应用的数据库是不允许其他应用访问的 内容提供者的作用就是让别的应用访问到你的数据库 自定义内容提供者,继承ContentProvider类,重写增删改查方法, 如果想要访问ContentProvider中的共享的数据,就一定要借助ContentResolver类 进行CRUD操作 insert() 添加数据 update() 更新数据 delete() 删除数据 query() 查询数据 getContentResolver().query(uri,

ShareSDK分享和SMS的使用

使用的是第三方的Mob来实现分享和发送短信的Demo 如图是项目的结构,结合了分享,发送短信,读取短信内容的功能 代码地址: 1.SMS发送短信 主要是3部 第一步:初始化SDK  initSDK 第二步:注册回调接口   registerEventHandler(EventHandler handler) 第三步:注销回调接口   unregisterEventHandler(EventHandler handler) 如下是程序的主要代码 实现了点击获取验证码,出现倒计时,读取短信的,验证验

读取短信数据库放到ListView中显示

在布局文件中加入ListView布局 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="

[Android] ContentProvider实例详解

1.ContentProvider是什么? ContentProvider(内容提供者)是Android的四大组件之一,管理android以结构化方式存放的数据,以相对安全的方式封装数据(表)并且提供简易的处理机制和统一的访问接口供其他程序调用. Android的数据存储方式总共有五种,分别是:Shared Preferences.网络存储.文件存储.外储存储.SQLite.但一般这些存储都只是在单独的一个应用程序之中达到一个数据的共享,有时候我们需要操作其他应用程序的一些数据,就会用到Cont