Secure Android Token Generator Apps Development
Budget: ₹600 – ₹1,500 INR
Aim: To create secure components and to ensure secure intercomponent
communication
Task: Create two Android apps:
Producer (app 1): This app consists of following components:
• tokenGenerationUserControl: An activity that provides two buttons to start
token generation and to stop token generation. On pressing the button ‘Start
Token Generation’ the generateTokens service starts. Display the generated
tokens on this activity.
• generateTokens: A service that generates one token every 15 seconds. A token
consist of timestamp and geo-coordinates in the format [timestamp, latitude,
longitude]. Example token1=[04-02-2025T05:00:00, 28.543680, 77.198692]
• TokenRepository is a table in database that stores tokens.
• provideTokens: A content provider that provides read only access to its content
to its trusted Consumer app.
Consumer (app 2): This app consists of the following components:
• tokensReady: A broadcast receiver that registers to receive broadcasts send by
generateToken service. The generateToken service sends broadcast after every 4
tokens creation.
• displayTokens: An activity that fetches token from provideTokens content
provider of producer app and displays on the screen.
Create the app components and manifest with suitable custom permissions/ labels so
that their access is limited to authorised components as per the information flow
displayed in the figure above.
communication
Task: Create two Android apps:
Producer (app 1): This app consists of following components:
• tokenGenerationUserControl: An activity that provides two buttons to start
token generation and to stop token generation. On pressing the button ‘Start
Token Generation’ the generateTokens service starts. Display the generated
tokens on this activity.
• generateTokens: A service that generates one token every 15 seconds. A token
consist of timestamp and geo-coordinates in the format [timestamp, latitude,
longitude]. Example token1=[04-02-2025T05:00:00, 28.543680, 77.198692]
• TokenRepository is a table in database that stores tokens.
• provideTokens: A content provider that provides read only access to its content
to its trusted Consumer app.
Consumer (app 2): This app consists of the following components:
• tokensReady: A broadcast receiver that registers to receive broadcasts send by
generateToken service. The generateToken service sends broadcast after every 4
tokens creation.
• displayTokens: An activity that fetches token from provideTokens content
provider of producer app and displays on the screen.
Create the app components and manifest with suitable custom permissions/ labels so
that their access is limited to authorised components as per the information flow
displayed in the figure above.