zoukankan      html  css  js  c++  java
  • 内容提供者读取短信信息

    package com.example.myapplication;
    
    import androidx.appcompat.app.AppCompatActivity;
    
    import android.content.ContentResolver;
    import android.content.ContentValues;
    import android.database.Cursor;
    import android.net.Uri;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.View;
    import android.widget.Button;
    
    public class MainActivity extends AppCompatActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            Button button1 = (Button)findViewById(R.id.button);
            Button button2 = (Button)findViewById(R.id.button2);
    
    
            button1.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    getMsgs();
                }
            });
    
            button2.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    insertMsg();
                }
            });
    
    
        }
    
        private void getMsgs(){
            Uri uri = Uri.parse("content://sms/");
            ContentResolver resolver = getContentResolver();
            //获取的是哪些列的信息
            Cursor cursor = resolver.query(uri, new String[]{"address","date","type","body"}, null, null, null);
            while(cursor.moveToNext())
            {
                String address = cursor.getString(0);
                String date = cursor.getString(1);
                String type = cursor.getString(2);
                String body = cursor.getString(3);
                System.out.println("地址:" + address);
                System.out.println("时间:" + date);
                System.out.println("类型:" + type);
                System.out.println("内容:" + body);
                System.out.println("======================");
            }
            cursor.close();
        }
    
    
        private void insertMsg() {
            ContentResolver resolver = getContentResolver();
            Uri uri = Uri.parse("content://sms/");
            ContentValues conValues = new ContentValues();
            conValues.put("address", "123456789");
            conValues.put("type", 1);
            conValues.put("date", System.currentTimeMillis());
            conValues.put("body", "no zuo no die why you try!");
            resolver.insert(uri, conValues);
            Log.e("HeHe", "短信插入完毕~");
        }
    }
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        tools:context=".MainActivity" >
    
        <Button
            android:id="@+id/button"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="读取" />
    
        <Button
            android:id="@+id/button2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="插入" />
    </LinearLayout>

  • 相关阅读:
    解决Nginx不支持pathinfo的问题
    PHP获取当前服务器信息的基本语句
    权重结构的加权排序算法
    《深入探讨C++对象模型》笔记 二
    链表的一些常用操作
    invalidate作用
    GetMessage()和PeekMessage()区别
    C语言程序编译的内存分配
    assert() 宏用法
    开始写博客
  • 原文地址:https://www.cnblogs.com/LILY321/p/14163635.html
Copyright © 2011-2022 走看看