Android读取系统短信(短信窃听器)

xiaoxiao2021-02-28  17

1、清单文件AndroidManifest.xml需要获取短信的权限

2、MainActivity.java中通过内容解析器(ContentResolver)读取系统短信

package com.t20.sms; import java.text.SimpleDateFormat; import java.util.Date; import android.net.Uri; import android.os.Bundle; import android.app.Activity; import android.app.AlertDialog; import android.content.ContentResolver; import android.database.Cursor; import android.view.View; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } /** * 获取系统短信 * @param v */ public void sms(View v){ //获取内容解析器(ContentResolver) ContentResolver resolver= getContentResolver(); //定义一个URI(Uniform Resource Identifier 统一资源标示符) //查全部短信 Uri uri=Uri.parse("content://sms/"); Cursor cursor=resolver.query(uri, null, null, null, null); //输出集合内容 AlertDialog.Builder dialog=new AlertDialog.Builder(MainActivity.this); dialog.setTitle("短信列表:"); StringBuilder sb=new StringBuilder(); int i=0; while (cursor.moveToNext()) { String address=cursor.getString(cursor.getColumnIndex("address")); String body=cursor.getString(cursor.getColumnIndex("body")); String dateString=cursor.getString(cursor.getColumnIndex("date")); Long dateLong=Long.parseLong(dateString); SimpleDateFormat sdf=new SimpleDateFormat("yyy-MM-dd hh:mm:ss"); Date date=new Date(dateLong); String dateShow=sdf.format(date); if(i!=0){ sb.append("\n"); } sb.append("号码:"+address+" 内容:"+body+" 时间:"+dateShow); i++; } cursor.close(); dialog.setMessage(sb); dialog.show(); } }
转载请注明原文地址: https://www.6miu.com/read-2050045.html

最新回复(0)