Institute of Computer Science
  1. Courses
  2. 2022/23 fall
  3. Mobile Application Development (LTAT.06.021)
ET
Log in

Mobile Application Development 2022/23 fall

  • Main
  • Lectures
  • Labs
  • Homeworks & Assignments
  • Task submission
  • Extra Materials
  • Best Practices
  • Results
  • Quizes
  • Projects
    • Presentations & Report
    • Teams & Topics
    • Grading & Submission

Homework 4 - SMS Log App

This homework builds upon the project started in Lab 4. You should complete the lab before proceeding.

1. Permission requests (2 pts)

Update your app to properly request permissions from the user when first started.

  • First check if required permissions are already granted
    • If yes, register the receiver
    • If not, request for them and register the receiver once they have been granted

Follow the example demo-ed during lecture, and if necessary study the permissions developer guide for more instructions.

  • In lecture 4, usage of registerForActivityResult(RequestPermission() approach was demonstrated. In the guide linked above, 2 ways of doing it are described:
    1. Using RequestPermission and letting the system manage request codes (shown in lecture)
    2. Using the approach where you manage request codes yourself.
  • You may use either of those approaches.

2. "Call Back" functionality with RecyclerView & Adapter

Similar to the 3rd part of Lab 4, show a RecyclerView-based list of SMS that arrive while the app is running (received using BroadcastReceiver).

  • Modify the custom_list_item.xml so that its root is a horizontal LinearLayout, containing:
    • 2 TextViews (for displaying phone number and the incoming SMS timestamp)
    • An ImageView or Button with the text "Call" (choose one of the 2).
  • Adjust the behaviour of your RecyclerView Adapter:
    • One TextView displays the SMS sender's phone number, as in lab 4 (1pt)
    • The second TextView displays the time when the SMS arrived (hours, minutes, seconds).(1pt)
    • Set up a click listener for the ImageView/Button, so that when it is clicked, a new Intent to start a phone dialer Activity is launched, with the number filled in. ( 1 pt)
      • Use Intent.ACTION_DIAL
      • Tip: you can use your View object from the ViewHolder to get an instance of Context
      • You have to specify the correct Uri for a phone number
      • For more info on initiating calls, including Uri examples: https://developer.android.com/guide/components/intents-common#Phone
  • Institute of Computer Science
  • Faculty of Science and Technology
  • University of Tartu
In case of technical problems or questions write to:

Contact the course organizers with the organizational and course content questions.
The proprietary copyrights of educational materials belong to the University of Tartu. The use of educational materials is permitted for the purposes and under the conditions provided for in the copyright law for the free use of a work. When using educational materials, the user is obligated to give credit to the author of the educational materials.
The use of educational materials for other purposes is allowed only with the prior written consent of the University of Tartu.
Terms of use for the Courses environment