وقتی بحث برنامه نویسی برای یکی تلفن همراه پیش می آید ممکن است هر عملکردی مورد نظر باشد، در هر زمینه این، ممکن است هدف دریافت اطلاعات پیام های روی گوشی و پردازش آنها و مشخص کردن سلیقه فرد مورد نظر باشد یا حتی سرقت اطلاعات شخصی کاربر.

البته هیچ برنامه ای در اندروید نمی تواند بدون داشتن دسترسی لازم عملی انجام دهد (مثلا: پیامی ارسال کند) یا اطلاعاتی را بخواند (همانند دسترسی به اینترنت)، و هیچ برنامه ای روی دستگاه شما نصب نمی شود، مگر در ابتدا سطوح دسترسی آن را تایید کنید. پس حتما موقع نصب برنامه ها دسترسی های آن ببینید.

خب، یکی از سترسی هایی که یک برنامه می تواند داشته باشد، دسترسی به لیست تماس های گرفته شده توسط دستگاه است، یعنی یک برنامه می تواند لیست تمامی تماس هایی را که شما با دستگاه خود برقرار کرده اید بخواند. برای اینکه یک برنامه بتواند به لیست تماس ها دسترسی داشته باشد باید دسترسی زیر را داشته باشد:

```
<p>
حال برای خواندن لیست تماس ها درون یک <em>Activity</em> می توان به روش زیر عمل کرد
</p>

Cursor c = context.getContentResolver().query(Calls.CONTENT_URI, null, null, null, Calls.DATE + " DESC");
String number = "";
if (c != null) {
if (c.moveToFirst()) {
number = c.getString(c.getColumnIndex(Calls.NUMBER)));
}
c.close();
}

<p>
پس از اجرای دستور فوق مقدار <em>number</em> برابر با شماره آخرین تماس گرفته شده خواهد بود. 
</p>