Android 以 Content provider 的方式提供簡訊資料,位址為 content://sms/inbox,因為資料為多筆,所以使用 ListActivity 讀取 Cursor 方式呈現。
public class ReadSMSFolderActivity extends ListActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Cursor cursor = this.getContentResolver().query(
Uri.parse("content://sms/inbox"), null, null, null, null);
this.startManagingCursor(cursor);
ListAdapter adapter = new SimpleCursorAdapter(this,
R.layout.readsmsfolder, cursor, new String[] {
"body"
}, new int[] {
R.id.row
});
this.setListAdapter(adapter);
}
}
要給予 android.permission.READ_SMS 的權限,並在 manifest 裡設定該 activity。
<activity android:name="ReadSMSFolderActivity"></activity>
最後還有供 ListAdapter 使用的 layout 檔案 res/layout/readsmsfolder.xml。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent">
<TextView android:id="@+id/row" android:layout_width="fill_parent" android:layout_height="fill_parent" />
</LinearLayout>
沒有留言:
張貼留言