ContentProviderSms 获取手机短信
来源:互联网 发布:cocos2dx lua mac 编辑:程序博客网 时间:2024/05/29 08:39
import android.content.ContentResolver;import android.content.Context;import android.database.Cursor;import android.net.Uri;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.CursorAdapter;import android.widget.LinearLayout;import android.widget.ListView;import android.widget.TextView;/** * 获取手机短信 * @author alice * */public class MainActivity extends AppCompatActivity { private ListView listView; private TextView empty_tv; private String path = "content://sms"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); listView = (ListView) findViewById(R.id.listView); empty_tv = new TextView(this); LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); empty_tv.setText("当前listView为空"); empty_tv.setLayoutParams(params); listView.setEmptyView(empty_tv); // 获取ContentRecolver 实例化对象 ContentResolver resolver = getContentResolver(); Cursor cursor = resolver.query(Uri.parse(path), null, null, null, null); MyCursorAdapter adapter = new MyCursorAdapter(this, cursor, CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER); listView.setAdapter(adapter); } class MyCursorAdapter extends CursorAdapter { public MyCursorAdapter(Context context, Cursor c, int flags) { super(context, c, flags); // TODO Auto-generated constructor stub } /* * 第一个参数: 当前Item的 View(ViewGroup) * 第三个参数 就是 当前Cursor * */ @Override public void bindView(View view, Context context, Cursor c) { TextView address_tv = (TextView) view.findViewById(R.id.address_tv); TextView body_tv = (TextView) view.findViewById(R.id.body_tv); TextView type_tv = (TextView) view.findViewById(R.id.type_tv); // 电话号码 String number = c.getString(c.getColumnIndex("address")); // 消息发送的内容 String body = c.getString(c.getColumnIndex("body")); // 消息的类型 String type = c.getString(c.getColumnIndex("type")); address_tv.setText(number); body_tv.setText(body); // 进行判断 是接收到的短信 还是发送出去的短信 if (type.equals("1")) { type_tv.setText("接收"); } else if (type.equals("2")) { type_tv.setText("发送"); } } //直接将每个条目的View 返回即可 @Override public View newView(Context arg0, Cursor arg1, ViewGroup arg2) { return LayoutInflater.from(MainActivity.this).inflate(R.layout.item_layout, null); } }}
布局
<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" tools:context="alice.bw.com.day16contentprovidersms.MainActivity"> <ListView android:id="@+id/listView" android:layout_width="match_parent" android:layout_height="match_parent" /></RelativeLayout>
item_layout
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:id="@+id/address_tv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="TextView" /> <TextView android:id="@+id/body_tv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="TextView" /> <TextView android:id="@+id/type_tv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="TextView" /></LinearLayout>
权限
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="alice.bw.com.day16contentprovidermedia"> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> </application></manifest>
阅读全文
1 0
- ContentProviderSms 获取手机短信
- 获取手机短信
- Android 获取手机短信
- 获取手机短信内容
- 获取手机短信内容
- 获取手机联系人---手机短信
- Html5 获取手机短信号码
- 获取手机短信并显示
- 手机短信验证的获取
- 获取手机短信会话信息 Android
- Android 使用CursorLoader获取手机短信
- 获取Android手机短信中心号码
- ContentView实现获取手机短信内容
- 获取手机联系人以及手机短信。
- 安卓获取手机短信(Contentprovider)
- Android 获取手机短信(获取最新的)
- 手机短信
- 手机短信
- Android 打包
- configure脚本分析
- maven 构建单模块
- leetcode 696 Count Binary Substrings
- sql server学习笔记-day4
- ContentProviderSms 获取手机短信
- 深圳市宝安区福海街道塘尾社区凤塘大道504号黑心公寓
- 01-1 自定义struts2-mvc模式下开发web项目
- easyui_datagrid根据具体值修改列名title及列属性field
- spark Rdds介绍
- http状态
- 数据结构 ---- 最大子列和
- c++内存管理优化之ptmalloc,tcmalloc,jemalloc使用实例
- 回文素数(没用筛法,只是做了一些优化)