• 16 读取短信内容


    • 所需权限

        <!-- 读取短信的权限 -->
          <uses-permission android:name="android.permission.READ_SMS"/>
    • 布局Activity :

      <?xml version="1.0" encoding="utf-8"?>
      <manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.qf.day16_contentresolver_sms_demo1"
          android:versionCode="1"
          android:versionName="1.0" >
      
          <uses-sdk
              android:minSdkVersion="8"
              android:targetSdkVersion="18" />
          <!-- 读取短信的权限 -->
          <uses-permission android:name="android.permission.READ_SMS"/>
      
          <application
              android:allowBackup="true"
              android:icon="@drawable/ic_launcher"
              android:label="@string/app_name"
              android:theme="@style/AppTheme" >
              <activity
                  android:name="com.qf.day16_contentresolver_sms_demo1.MainActivity"
                  android:label="@string/app_name" >
                  <intent-filter>
                      <action android:name="android.intent.action.MAIN" />
      
                      <category android:name="android.intent.category.LAUNCHER" />
                  </intent-filter>
              </activity>
          </application>
      
      </manifest>
      
    • java代码(MainActivity)

      package com.qf.day16_contentresolver_sms_demo1;
      
      import android.net.Uri;
      import android.os.Bundle;
      import android.annotation.SuppressLint;
      import android.app.Activity;
      import android.content.ContentResolver;
      import android.database.Cursor;
      import android.view.Menu;
      import android.widget.ListView;
      import android.widget.SimpleCursorAdapter;
      
      /**
       * 使用ContentResolver获取数据步骤:
       * 1,获取ContentResolver对象
       * 2,使用ContentResolver 查询数据,  得到Uri对象
       * 3,将数据展示到ListVIew
       *
       */
      public class MainActivity extends Activity {
      
          //内容解析器
          private ContentResolver contentResolver;
          //Uri  访问私有数据的路径
          private  Uri smsUri = Uri.parse("content://sms");
      
          private ListView lv;
      
          private SimpleCursorAdapter adapter;
      
          @SuppressLint("NewApi")
          @Override
          protected void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.activity_main);
      
      
               lv = (ListView) findViewById(R.id.lv);
              //获取实例化对象
              contentResolver = getContentResolver();
      
              /**
               * 获取数据  通过Uri
               * 
               * 参数1:访问ContentProvider 的路径
               * 参数2:查询的字段项       null代表查询所有
               * 参数3:  查询的条件  _id =?  body = ?
               * 参数4:  查询条件的占位符
               * 参数5: 排序
               *  SimpleCursorAdapter 必须要查找_id字段 哪怕你不使用
               */
              Cursor cursor = contentResolver.query(smsUri, null, null, null, null);
      
              adapter = new SimpleCursorAdapter(MainActivity.this,
                      R.layout.item, 
                      cursor, new String[]{"address","body"}, 
                      new int[]{R.id.tv_address,R.id.tv_body},
                      SimpleCursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER);
              lv.setAdapter(adapter);
          }
      
      
      
      }
      
    • layout下布局文件
      activity_main.xml(Activity界面)

      <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
          xmlns:tools="http://schemas.android.com/tools"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:paddingBottom="@dimen/activity_vertical_margin"
          android:paddingLeft="@dimen/activity_horizontal_margin"
          android:paddingRight="@dimen/activity_horizontal_margin"
          android:paddingTop="@dimen/activity_vertical_margin"
          tools:context=".MainActivity" >
      
          <ListView 
              android:id="@+id/lv"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              ></ListView>
      
      </RelativeLayout>
      

      list填充的布局

      <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
          xmlns:tools="http://schemas.android.com/tools"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:paddingBottom="@dimen/activity_vertical_margin"
          android:paddingLeft="@dimen/activity_horizontal_margin"
          android:paddingRight="@dimen/activity_horizontal_margin"
          android:paddingTop="@dimen/activity_vertical_margin"
          tools:context=".MainActivity" >
      
          <ListView 
              android:id="@+id/lv"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              ></ListView>
      
      </RelativeLayout>
      
  • 相关阅读:
    Codeforces Round #277 (Div. 2) D. Valid Sets 暴力
    Codeforces Round #277 (Div. 2) B. OR in Matrix 贪心
    Codeforces Round #277 (Div. 2) A. Calculating Function 水题
    套题 Codeforces Round #277 (Div. 2)
    模板 读入挂
    Codeforces Round #276 (Div. 1) B. Maximum Value 筛倍数
    Codeforces Round #276 (Div. 1) A. Bits 二进制 贪心
    json转字符串 —— jsonObj.toJSONString()与JSON.stringify(jsonObj)
    JSONP跨域提交表单
    jquery ajaxSubmit
  • 原文地址:https://www.cnblogs.com/muyuge/p/6152244.html
Copyright © 2020-2023  润新知