Android studio 獲取手機簡訊內容並輸出顯示
初學Android studio 需要做一個功能,獲取簡訊內容輸出到顯示屏上。
使用Android studio版本:3.2 JDK版本: jdk1.8.0_151
首先在清單檔案新增許可權,獲取簡訊讀寫許可權
<uses-permission android:name="android.permission.READ_SMS"/> <uses-permission android:name="android.permission.RECEIVE_SMS"/> <uses-permission android:name="android.permission.SEND_SMS"/>
然後是編寫佈局檔案
<?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout 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" tools:context=".MainActivity"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="readSMS" android:text="讀取手機簡訊" /> <ListView android:id="@+id/listView" android:layout_width="match_parent" android:layout_height="match_parent"> </ListView> </android.support.constraint.ConstraintLayout>
JAVA程式碼
/** * @author [email protected] */ public class MainActivity extends AppCompatActivity { private ListView mListView; private SimpleAdapter sa; private List<Map<String, Object>> data; public static final int REQ_CODE_CONTACT = 1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); } private void initView() { //得到ListView mListView = (ListView) findViewById(R.id.listView); data = new ArrayList<Map<String, Object>>(); //配置適配置器S sa = new SimpleAdapter(this, data, android.R.layout.simple_list_item_2, new String[]{"names", "message"}, new int[]{android.R.id.text1, android.R.id.text2}); mListView.setAdapter(sa); } /** * 檢查申請簡訊許可權 */ private void checkSMSPermission() { if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_SMS) != PackageManager.PERMISSION_GRANTED) { //未獲取到讀取簡訊許可權 //向系統申請許可權 ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_SMS}, REQ_CODE_CONTACT); } else { query(); } } /** * 點選讀取簡訊 * @param view */ public void readSMS(View view) { checkSMSPermission(); } @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { //判斷使用者是否,同意 獲取簡訊授權 if (requestCode == REQ_CODE_CONTACT && grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { //獲取到讀取簡訊許可權 query(); } else { Toast.makeText(this, "未獲取到簡訊許可權", Toast.LENGTH_SHORT).show(); } } private void query() { //讀取所有簡訊 Uri uri = Uri.parse("content://sms/"); ContentResolver resolver = getContentResolver(); Cursor cursor = resolver.query(uri, new String[]{"_id", "address", "body", "date", "type"}, null, null, null); if (cursor != null && cursor.getCount() > 0) { int _id; String address; String body; String date; int type; while (cursor.moveToNext()) { Map<String, Object> map = new HashMap<String, Object>(); _id = cursor.getInt(0); address = cursor.getString(1); body = cursor.getString(2); date = cursor.getString(3); type = cursor.getInt(4); map.put("names", body); Log.i("test", "_id=" + _id + " address=" + address + " body=" + body + " date=" + date + " type=" + type); data.add(map); //通知介面卡發生改變 sa.notifyDataSetChanged(); } } } }
參考:
相關推薦
Android studio 獲取手機簡訊內容並輸出顯示
初學Android studio 需要做一個功能,獲取簡訊內容輸出到顯示屏上。 使用Android studio版本:3.2 JDK版本: jdk1.8.0_151 首先在清單檔案新增許可權,獲取簡訊讀寫許可權 <uses-permission an
Android開發之監聽或獲取手機簡訊內容
最近開始學習安卓,要做一個可以監聽手機簡訊的內容,做個筆記,方便以後檢視 有兩種方式: 方式一:通過廣播監聽簡訊資訊 註冊一個廣播接收器 <receiver android:name="接收器包名"> <intent-filte
Android studio檢視手機/data/data下資料並匯出
Android studio檢視手機/data/data下資料並匯出,歷經N小時的摸索,查閱資料,最終解決這個問題。雖然看起來是小問題,但是不解決心裡不好受。網上的資料很多,但是能用的,能有效果的很少,下面我來總結我的方法。 首先要檢視data/data下的資料,要求手機必須root. 開
android-手機登入介面嘗試獲取手機號碼,並可選擇雙卡雙待subscriptionId
LogonActivity.java public class LogonActivity extends Activity { private EditText nickET; private EditText passwordET; private E
基於Android studio的手機聯絡人資訊獲取
最近需要做到這麼一個功能,獲取聯絡人資訊,並且將聯絡人姓名和電話顯示到螢幕上,上網查了很多資料,折騰了很久才做出來,特此寫下感想。程式碼原理不多講,度娘一大堆,在貼程式碼之前想說一下過程中容易忽略的地方:1.新增執行時許可權,很多時候我們往往只在清單裡面新增如下許可權,然而在
在不知內容的情況下獲取Excel表的內容並輸出到JSP頁面
@RequestMapping(value = "/viewContent/{id}", method = RequestMethod.GET) public String do_view(@PathVariable("id") int id, ModelMap map,
Android studio獲取系統日期 並設定顯示出來
Calendar calendar = Calendar.getInstance(); mMonth = String.valueOf(calendar.get(Calendar.MONTH) + 1); //獲取日期的月 mDa
Android獲取手機基站資訊並進行基站定位(基站定位原理)
http://blog.csdn.net/mad1989/article/details/9970431 一,首先普及一下手機基站資訊中相關的專業詞彙: 通過TelephonyManager 獲取lac:mcc:mnc:cell-id(基站資訊)的解釋: MCC,M
Android Studio獲取開發版SHA1值和發布版SHA1值,詳細過程
pre 希望 系統 water target 詳細 andro targe pac 轉自原文 Android Studio獲取開發版SHA1值和發布版SHA1值的史上最詳細方法 前言: 今天我想把百度地圖的定位集成到項目中來,想寫個小小的案例,實現一下,但在集成
android studio 與手機連接調試
too 連接方式 找到 other 手機屏幕 以及 網上 platform ngs android studio 版本不同 連接手機方式有細微的不同,主要方式相似。介紹主要分手機和電腦兩部分介紹。 一、手機部分 1、手機端下載一個“一鍵root權限獲取“,在安裝的過程中需要
shell讀取文件的每一行內容並輸出【轉】
jpg arch read line com http 內容 pan spa fin 寫法一: #!/bin/bash while read line do echo $line done < file(待讀取的文件) 寫法二:
Android util - 獲取剪貼板內容
boa and ger androi dma rdma sta log clip 1 public class UtilClipBoard { 2 3 public static void copy(Context context,String text)
Android Studio獲取開發版SHA1值和發布版SHA1值的史上最詳細方法
nal code tail JD rip 通過 提示 打開 tor 前言:使用百度地圖時需要秘鑰,申請秘鑰時需要SHA1值,所以今天就總結一下怎麽獲取這個值。 正常情況下: 一、獲取開發版SHA1: 在此我直接用AndroidStudio提供的命令控制臺了,畢竟做Andro
FileReader實現讀取文件內容並輸出到屏幕上
null tac otf style ace 讀取 編碼 use unicode編碼 FileReader與FileInputStream都是從文件讀數據,而前者一次讀一個字符,後者一次讀一個字節(在Unicode編碼環境下1個字符=2個字節) package com.j
Total Control指令碼功能JS API之獲取裝置簡訊內容
每一個裝置物件都對應了 Total Control 中已連線的一臺手機裝置。 通過裝置物件,使用者可以獲取到手機裝置的各種屬性,以及使用控制介面對裝置進行各種操作,比如 開啟或關閉指定APP,傳送簡訊等等。今天我們就介紹如何用 JS API (messageGet)獲取手機上的簡訊內容。 mes
JNI入門教程1---Android studio 下JNI程式設計例項並生成so庫
參考地址: https://www.cnblogs.com/jymblog/p/5526865.html https://www.jianshu.com/p/a
【android】Android Studio連線手機沒反應,提示錯誤adb.exe start-server' failed -- run manually if necessary
摘要:有時候我們在把手機連線到AndroidStudio當中的時候會出現手機無法識別,連線視窗中顯示Nothingtoshow的情況,而我手機之前連線還是好好的呀,怎麼回事呢?我們再看一下底部提示的錯誤資訊,一般如下:'C:/Users/ZHXG/AppData/Local/Android/S
QT之Android下獲取手機感測器資料學習筆記
QT += core gui sensors positioning 其中sensors是獲取手機上感測器資料的元件,positioning是獲取位置資訊的元件 1、獲取陀螺儀感測器資料 #include <QGyroscope> QGyroscope *gyrosco
Android Studio獲取開發版SHA1值和釋出版SHA1值的史上最詳細方法
前言: 今天我想把百度地圖的定位整合到專案中來,想寫個小小的案例,實現一下,但在整合百度地圖時首先要申請祕鑰,申請祕鑰要用到SHA1值,所以今天就來總結一下怎樣去獲取這個值吧,希望對大家有幫助。 正常情況下: 一、獲取開發版SHA1: 在此我直接用Android
Android筆記: 獲取手機的品牌、型號、Android系統版本號、IMEI、當前系統語言等工具類
最近在開發中,需要用到一些系統資訊,這裡我把這些方法寫成一個工具類方便以後複用,該工具類有以下6個功能: 1、獲取手機制造廠商 2、獲取手機型號 3、獲取手機系統當前使用的語言 4、獲取Andr