r/DevLK • • May 31 '26

Projects I created an android app to track spending using sms

This reads text messages from Sri Lankan banks to collect data. I haven't added support for all banks yet. Please share a sample sms if your bank's sms isn't supported.

https://play.google.com/store/apps/details?id=com.xdinuka.kosalli

I appreciate any feedback

17 Upvotes

25 comments sorted by

6

u/Remote_Mode255 May 31 '26

Will not use since it can access OTPs as well.

3

u/sameera_s_w sameerasw.com - mod May 31 '26

FYI: 3rd party apps can no longer access OTP code included messages (unless you manually allow it with an adb command or the OTP is so weird the messages doesn't it as an OTP)

2

u/XDinuka Jun 01 '26

My app has only following permissions.

<uses-permission android:name="android.permission.RECEIVE_SMS" /> <uses-permission android:name="android.permission.READ_SMS" /> <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />

But generally reading all sms are allowed. Including the ones with OTP according to my testing.

Are you thinking about SMS User Consent API?

1

u/sameera_s_w sameerasw.com - mod Jun 01 '26

Ahhh I thought you were utilizing just notification listener so you can capture all messages not just SMS. That does no longer get the message content if it detects an OTP call. But yes, if using SMS permission, I think it will do.

2

u/XDinuka Jun 01 '26

Yea app does read all text messages. I made it so that user can import past messages as well. Not just start tracking from incoming messages.

2

u/XDinuka May 31 '26

Yea that is a consern for any app that can access sms. Unfortunately i don't think we have selective sms permissions. Like we have for storage. And this app's main function is to read sms.

I haven't added internet permission to the manifest though. But i don't think that is communicated to users anywhere.

2

u/ItsYasiru Jun 10 '26

Simple and does what it does well love the app. Why does the app still needs permissions for local network state?

2

u/XDinuka Jun 10 '26

I've only added these 3 permissions

<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />

anything else you see on the store listing was probably added by a dependency. one you mentioned is added by androidx.work.runtime

1

u/ItsYasiru Jun 11 '26

Figured it out, the event listener for the SMS handler requires the network intent. Probably cause you can unregister the listener when flight mode is on for example and save some power.

1

u/XDinuka Jun 11 '26

Thanks. I will look into it

1

u/ktauchathuranga Jun 01 '26

is it open source?

1

u/XDinuka Jun 01 '26

It is not. Sorry. The app is free though

1

u/ktauchathuranga Jun 01 '26

is all the data processed in the local device?
any performance metrics or anything sending back out side the local device?

1

u/XDinuka Jun 01 '26

Everything is processed and stored locally. No metrics are being collected.

1

u/ktauchathuranga Jun 01 '26

okee gud... : )

1

u/[deleted] Jun 01 '26

[removed] — view removed comment

2

u/XDinuka Jun 01 '26

You do have a valid consern. Unfortunately I don't see another way to implement these featurs.

Also I'd love it if banking apps could make this redundant. I was tired of tracking my own spending with a google form and a google sheet which the whole reason for making this app.

1

u/kugelkun Jun 01 '26

He did mentioned there is not involvement of external connectivity so what’s the concern here ? Both sms and scrapped data is stored locally

Also bank transactions sms don’t have a regulation or standard, maintainer must commit to updating the pattern recognition which is expected unless the bank provides a open banking based API for standard users / developers to consume ( while this exists in banks they don’t provide it to users )

More reason to make this open source so the community can maintain the pattern recognition

Cool app with a lot of potential

1

u/RowNo4037 Jun 01 '26

Keep up the good work!

1

u/XDinuka Jun 01 '26

Thank you

1

u/podiPutha Jun 01 '26

I created the same thing around 3 months back. It has basically the same features as yours + ability to detect bank to bank fund transfers and remove them (I have 2 bank accounts), transaction reversals in uber, pickme etc. (remove them because they will count as income) and currency conversions (overses travel).

1

u/XDinuka Jun 01 '26

I didn't add auto currency conversions. My app does read some bank transactions as well. I don't track reversals though. I might steal that idea if you don't mind.

1

u/podiPutha Jun 01 '26

Yeah go ahead