package com.weituo.messagereaddemo;import android.Manifest;import android.content.pm.PackageManager;import android.database.Cursor;import android.net.Uri;import android.os.Build;import android.os.Bundle;import android.support.annotation.NonNull;import android.support.annotation.RequiresApi;import android.support.v4.app.ActivityCompat;import android.support.v7.app.AppCompatActivity;import android.text.TextUtils;import android.widget.TextView;import java.text.SimpleDateFormat;import java.util.Date;public class MainActivity extends AppCompatActivity {    private TextView tvMessage;    private String address = "18665651567";    @RequiresApi(api = Build.VERSION_CODES.M)    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        tvMessage = findViewById(R.id.tv_message);        //申请写的权限        String[] permissions = {Manifest.permission.READ_SMS};        if(PackageManager.PERMISSION_GRANTED != ActivityCompat.checkSelfPermission(this,Manifest.permission.WRITE_EXTERNAL_STORAGE)){            requestPermissions(permissions,200);        }    }    @Override    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {        super.onRequestPermissionsResult(requestCode, permissions, grantResults);        if(!TextUtils.isEmpty(getSMS())){            tvMessage.setText(getSMS());        }    }    private String getSMS() {        final String SMS_URI_INBOX = "content://sms/inbox";        Uri uri = Uri.parse(SMS_URI_INBOX);        String[] projection = new String[]{"_id", "address", "person", "body", "date", "type",};//        Cursor cursor = getContentResolver().query(uri, projection, null, null, "date desc");        Cursor cur = getContentResolver().query(uri, projection, "read = ?", new String[]{"0"}, "date desc");        StringBuilder smsBuilder = new StringBuilder();        if(cur.moveToFirst()){            int index_Address = cur.getColumnIndex("address");            int index_Person = cur.getColumnIndex("person");            int index_Body = cur.getColumnIndex("body");            int index_Date = cur.getColumnIndex("date");            int index_Type = cur.getColumnIndex("type");            do {                String strAddress = cur.getString(index_Address);                int intPerson = cur.getInt(index_Person);                String strbody = cur.getString(index_Body);                long longDate = cur.getLong(index_Date);                int intType = cur.getInt(index_Type);                SimpleDateFormat dateFormat = new SimpleDateFormat(                        "yyyy-MM-dd hh:mm:ss");                Date d = new Date(longDate);                String strDate = dateFormat.format(d);                String strType = "";                if (intType == 1) {                    strType = "接收";                } else if (intType == 2) {                    strType = "发送";                } else if (intType == 3) {                    strType = "草稿";                } else if (intType == 4) {                    strType = "发件箱";                } else if (intType == 5) {                    strType = "发送失败";                } else if (intType == 6) {                    strType = "待发送列表";                } else if (intType == 0) {                    strType = "所以短信";                } else {                    strType = "null";                }                if(strAddress.equals(address)){                    smsBuilder.append("[ ");                    smsBuilder.append(strAddress + ", ");                    smsBuilder.append(intPerson + ", ");                    smsBuilder.append(strbody + ", ");                    smsBuilder.append(strDate + ", ");                    smsBuilder.append(strType);                    smsBuilder.append(" ]\n\n");                }            } while (cur.moveToNext());            if (!cur.isClosed()) {                cur.close();                cur = null;            }        }else{            smsBuilder.append("no result!");        }        smsBuilder.append("getSmsInPhone has executed!");        return smsBuilder.toString();    }}

 

 

 

更多相关文章

  1. Android中Handler机制
  2. Android(安卓)动态发送广播接收
  3. Android发送短信
  4. 【Android】Android(安卓)4.0 无法接收开机广播的问题
  5. Android消息通信之无所不能的第三方开源项目EventBus
  6. 【Android】Android(安卓)4.0 无法接收开机广播的问题
  7. androdi与服务器Socket通信原理
  8. 面向UDP的Android——PC双向通信(一):实现Android客户端和PC服务器
  9. Android(安卓)Intent的几种用法全面总结

随机推荐

  1. Animating Layout Changes(展开收起)
  2. Android下检测网络状态 3G WIFI
  3. Android5.0Button字体大小写
  4. android好博
  5. javascript的touchend在android上 执行两
  6. Android Animation动画效果简介
  7. Android 反编译资料2
  8. Android(安卓)FFMPEG 编译脚本
  9. Android获取APP的应用程序名称、包名、图
  10. paypal android VALIDATION_ERROR(statusC