Message Forwarder - SMS, MMS, and Call Notification Forwarding - Android Apps and Games

Thread for the Message Forwarder App. This is a good way to reach the developer with any questions, concerns, or feature requests you might have in mind.
What is Message Forwarder?
Message Forwarder allows to automatically forward incoming text (SMS) messages, multimedia (MMS) messages, and phone call notifications to any phone number or e-mail address of your choice. Just tell the app what kind of messages and calls to handle and where to send them to, and Message Forwarder will take care of everything from there.
- Specify phone numbers to filter the messages and phone calls by.
- Specify phone numbers or e-mail addresses to forward the messages and call notifications to.
- Set up thorough and flexible manipulation rules to automatically modify the content of the messages before being forwarded. Very useful for those coupling this app with automated systems that make use of keywords.
- Attach information of the original sender or caller on the forwarded message.
- View a history of the messages forwarded, along with all their attachments in the case of multimedia messages.
- Specify days of the week and times of the day in which messages and call notifications should not be forwarded. Very useful for those not interested in forwarding messages during off hours, like weekends or weeknights.
- And much, much more.
Looking forward to hearing your feedback.

Screenshots
Attaching screenshots of current version (Version 1.2.6.XDA)
PS: I am a satisfied user of the app, Just giving my inputs to the forum.

My Simple review: I am looking for an app that can forward selected SMS from (secondary)mobile to email and found this app.
Feedback:
The app is easy to setup with step by step screen, DEV had well thought the flow of the setup.
I don't find any unnecessary permissions that can misused.
Each time by watching the 10sec ad APP provides 170 quota to use the app. No need to pay upfront ($5 for onetime purchase)
Few options I like in the app:
Able to forward SMS/MMS/CALL LOG
We can forward from ALL/SELECTED contacts and have Single or Multiple Targets (email/phone)
Use of FILTERS/RULES & Scheduling.
Few requests/suggestions to DEV:
I feel the current permission request steps are confusing and user may miss few of them. It will be easy if app can request the required access step by step while setting up the app.
Provide section/option for required access if user missed granting while setting up the app.
Kudos to the app developer, appreciate the efforts. Thanks for sharing with members.

tiniwings said:
My Simple review: I am looking for an app that can forward selected SMS from (secondary)mobile to email and found this app.
Feedback:
The app is easy to setup with step by step screen, DEV had well thought the flow of the setup.
I don't find any unnecessary permissions that can misused.
Each time by watching the 10sec ad APP provides 170 quota to use the app. No need to pay upfront ($5 for onetime purchase)
Few options I like in the app:
Able to forward SMS/MMS/CALL LOG
We can forward from ALL/SELECTED contacts and have Single or Multiple Targets (email/phone)
Use of FILTERS/RULES & Scheduling.
Few requests/suggestions to DEV:
I feel the current permission request steps are confusing and user may miss few of them. It will be easy if app can request the required access step by step while setting up the app.
Provide section/option for required access if user missed granting while setting up the app.
Kudos to the app developer, appreciate the efforts. Thanks for sharing with members.
Click to expand...
Click to collapse
Out of all the permissions the app asks for, a few can be moved to earlier in the configuration process (Read SMS, Receive SMS, Receive MMS, Send SMS, Read Contacts, Read Call Logs). Some others must stay in the end because they are required regardless of what options the user picks during the configuration process (Ignore Battery Optimization). I do agree the experience could be improved if we move the ones we can. I'll take a stab at it soon.
The user does get an explanation of why each permission is needed, but only if they chose NOT to grant it in the past; as in... "I see you didn't grant XYZ permission when I asked for it. I still need it and here is why". I think we should leave it that way for simplicity. If we move the permission requests to their respective steps in the configuration process, it should be obvious to the user why that permission is being requested. If they reject it, then the app can start giving explanations why they are needed.
The app also notifies the user about missing permissions through a system notification when it cannot do something because of the lack of such permission. It also gives the user a reminder whenever they visit the app and a needed permission is still not granted. If the user misses any permissions, they find out sooner rather than later.
For now, I can at least move forward with the permission request relocation mentioned above. I'll let you know how that goes.

Great start! I upgraded to Premium but it is not taking the upgrade. What should I do?
Verizon Moto Z3 stock unrooted.

careloads said:
Great start! I upgraded to Premium but it is not taking the upgrade. What should I do?
Verizon Moto Z3 stock unrooted.
Click to expand...
Click to collapse
Hi. Send me a private message with the details of the issue you're having.

yasmanillanes said:
Hi. Send me a private message with the details of the issue you're having.
Click to expand...
Click to collapse
Thanks for the quick response!

Excellent app.
But, a few caveats need to be filled quickly.
1. Provision for SIM selection of SMS forwarding (should be a part of each rule).
2. The developer has already implemented setting Sender ID quite nicely (inclusion/exclusion) on screen no. 4 of config.
- But, it lacks the ability to find partial matches. For example, I have been receiving messages from +4456874***, the last three digits can be dynamic. I want all these messages to be forwarded.
- Take another example. all SMS received from number containing ****8808** is to be forwarded.
- In short, please make provisions for matching Prefix, body, suffix of a sender ID.
3. SMS from custom sender IDs (sender ID that contains a text string, instead of numbers) was not forwarded.
- Example. I keep receiving "service messages" from UKING***, BRISRLY* etc.
- With the current version, its not possible to create a rule for forwarding these messages.
- Please implement partial matches (as described above) for custom sender IDs too.
It has been a wonderful effort already.
Big thanks to the developer.

DJwa163 said:
Excellent app.
But, a few caveats need to be filled quickly.
1. Provision for SIM selection of SMS forwarding (should be a part of each rule).
2. The developer has already implemented setting Sender ID quite nicely (inclusion/exclusion) on screen no. 4 of config.
- But, it lacks the ability to find partial matches. For example, I have been receiving messages from +4456874***, the last three digits can be dynamic. I want all these messages to be forwarded.
- Take another example. all SMS received from number containing ****8808** is to be forwarded.
- In short, please make provisions for matching Prefix, body, suffix of a sender ID.
3. SMS from custom sender IDs (sender ID that contains a text string, instead of numbers) was not forwarded.
- Example. I keep receiving "service messages" from UKING***, BRISRLY* etc.
- With the current version, its not possible to create a rule for forwarding these messages.
- Please implement partial matches (as described above) for custom sender IDs too.
It has been a wonderful effort already.
Big thanks to the developer.
Click to expand...
Click to collapse
Hi,
1- I've been planning on implementing dual SIM support, but unfortunately do not have a dual SIM device to test this on, and the Android emulator does not support it either. Would you like to volunteer to become an alpha-tester of this feature with your device?
2- I'll consider adding some sort of pattern matching for this. I first have to think how to make it user-friendly (not require knowledge of RegEx or anything like that).
3- You should be able to type in any kind of alphanumeric string in the contacts screen, and the app be able to handle it just fine. Are you saying that's what you did, but when a message came in, the app did not process it?

yasmanillanes said:
Hi,
1- I've been planning on implementing dual SIM support, but unfortunately do not have a dual SIM device to test this on, and the Android emulator does not support it either. Would you like to volunteer to become an alpha-tester of this feature with your device?
2- I'll consider adding some sort of pattern matching for this. I first have to think how to make it user-friendly (not require knowledge of RegEx or anything like that).
3- You should be able to type in any kind of alphanumeric string in the contacts screen, and the app be able to handle it just fine. Are you saying that's what you did, but when a message came in, the app did not process it?
Click to expand...
Click to collapse
1. For Sure.
2. Take your time
3. Exact match works. any bit of deviation ruins it.

DJwa163 said:
1. For Sure.
2. Take your time
3. Exact match works. any bit of deviation ruins it.
Click to expand...
Click to collapse
That's great! Could you send me a private message with your e-mail address? I will send you the alpha version of the app with the Dual-SIM feature when it's ready.

Hello there and thank you.
1. Is it possible to enable delivery report for sent messages?
2. In Dynamic Content config, I want to search for a specific keyword and if found, forward the message. If i leave the "replace" text empty, it will erase the keyword from message. It's good to have a checkbox to disable text replacement.

hadiceberg said:
Hello there and thank you.
1. Is it possible to enable delivery report for sent messages?
2. In Dynamic Content config, I want to search for a specific keyword and if found, forward the message. If i leave the "replace" text empty, it will erase the keyword from message. It's good to have a checkbox to disable text replacement.
Click to expand...
Click to collapse
Hello there.
1. Delivery reports for SMS seem trivial. I'm not so sure about MMS though; I can't find any Android documentation for it. I'll have to look into it.
2. As far as the Dynamic Content, you can simply retype the keyword in the "replace" field. Essentially this translates to: find "my-keyword" and replace it with "my-keyword"; effectively leaving the message intact.
Regards.

tiniwings said:
I feel the current permission request steps are confusing and user may miss few of them. It will be easy if app can request the required access step by step while setting up the app.
Click to expand...
Click to collapse
Hi, I just released the new version (1.3.0) that includes this permissions workflow change you requested.

DJwa163 said:
Excellent app.
1. Provision for SIM selection of SMS forwarding (should be a part of each rule).
2. The developer has already implemented setting Sender ID quite nicely (inclusion/exclusion) on screen no. 4 of config.
- But, it lacks the ability to find partial matches. For example, I have been receiving messages from +4456874***, the last three digits can be dynamic. I want all these messages to be forwarded.
- Take another example. all SMS received from number containing ****8808** is to be forwarded.
- In short, please make provisions for matching Prefix, body, suffix of a sender ID.
3. SMS from custom sender IDs (sender ID that contains a text string, instead of numbers) was not forwarded.
- Example. I keep receiving "service messages" from UKING***, BRISRLY* etc.
- With the current version, its not possible to create a rule for forwarding these messages.
- Please implement partial matches (as described above) for custom sender IDs too.
Click to expand...
Click to collapse
Hi, the latest version (1.3.0) was just released and includes these features.

Older Version
I really like Message Forwarder and it has work perfectly for me. BUT my work phone is VERY old and the current version of Message Forwarder will not work. How can I get an older version that will work with Andriod 5.1?

SusieSunBrite said:
I really like Message Forwarder and it has work perfectly for me. BUT my work phone is VERY old and the current version of Message Forwarder will not work. How can I get an older version that will work with Andriod 5.1?
Click to expand...
Click to collapse
Hi. I sent you a private message about this.

The app stops forwarding after 5 or 6 messages. Unfortunately this app is exactly what I have been looking for an I have not been able to find a replacement.

Axis259 said:
The app stops forwarding after 5 or 6 messages. Unfortunately this app is exactly what I have been looking for an I have not been able to find a replacement.
Click to expand...
Click to collapse
Hi. Do the failed messages appear in the app's Messages Screen? Are you forwarding to phone numbers or e-mails? If e-mails, what proxy account are you using? Outlook or Gmail?

Message Fowarder
I was forwarding to 2 email addresses and one texting/ phone app. When the messages did get forwarded they did show up on the message tab. If they were not forwarded they did not. I am using a Gmail proxy. I changed my configuration to only my Gmail account. Thank you for quick response I hope this is an easy issue to rectify.

Related

The Mobile Secretary

Hello,
I am currently using the Mobile Secretary as my program to auto-respond to missed calls. As viewed here:
http://blogs.msdn.com/windowsmobile/...secretary.aspx
As you can tell it is quite outdated and need something a few more features. (excluding international texts being the primary concern)
Can anyone recommend any applications?
Also I think it's worth mentioning I have a Samsung Ace i325 with windows mobile 6 standard.
OK, the source is available, so you're on. Be specific about what you'd like to have changed.
godefroi said:
OK, the source is available, so you're on. Be specific about what you'd like to have changed.
Click to expand...
Click to collapse
The most important feature I need is the ability to:
-exclude international callers. (and SMS if that feature is added)
-ability to automatically reply to SMS/text as well.
Some features that would be a bonus: (in order of importance)
-Ability to have 6 saved messages I can switch between
-Number of rings before the phone auto hangs up
-Max number of SMS that can be sent to one person
-Log of amount of SMS sent per session
-Log of phone numbers that SMS were sent
If I can get a program like this working on my current phone I will definitely pay for it.
When you say "exclude international callers", you mean don't automatically send back the SMS when you miss a call from an international caller? Why don't you just leave international callers out of the group?
As for automatically replying to SMS, how would you like the reply to be handled? Would you put a message in for each group, and SMS from people in that group would get that group's reply?
When you say "exclude international callers", you mean don't automatically send back the SMS when you miss a call from an international caller? Yes.
Why don't you just leave international callers out of the group?
I only really need the "Default" and "Unknown Caller" groups with both sending the same message. I don't plan on using the groups to send specific messages to certain people. I want to send the same SMS to all missed calls. Unless I am missing something but I don't see how to filter out all Int Calls?
As for automatically replying to SMS, how would you like the reply to be handled? Would you put a message in for each group, and SMS from people in that group would get that group's reply?
That would be a nice feature, but all since I am only using two groups with the same message, it probably isn't necessary. I just need it to auto-reply one SMS to all received SMS.
If all you're looking for is a quick little app to auto-SMS any missed calls (excluding international calls) with the same message, that'd be really quick to whip up.
godefroi said:
If all you're looking for is a quick little app to auto-SMS any missed calls (excluding international calls) with the same message, that'd be really quick to whip up.
Click to expand...
Click to collapse
As long as it doesn't attempt to send SMS to numbers that come up as "Blocked ID" (could cause errors) ...then even what your suggesting would be improvement.
That plus auto-SMS to all texts would be great.
I would also need a manual filter for a few numbers that I know don't want any SMS sent. (paycard numbers in particular)
(I currently use a "third group" on mobile secretary to "filter" out those auto-SMS, forgot to mention that earlier)
I definitely don't need an intricate program =)

[App] SMS Name Fix 1.0.2

In times of Win mobile i used SMS Fix application, that was trying to find contact by phone number in incoming text.
I was missed it on android and so decided to develop the same app for it
Sms Name Fix is this application!
In the current version it has the following features:
1. When you receive a text message with phone number
app tries to find the contact in your phone book by this number and display the name in message's text when success.
2. When you touch phone number in any text Sms Name Fix allows you to dial or send message immediately instead of basic android behavior!
Any suggestions and comments will be very much appreciated!
You can download app from Android Market http://market.android.com/details?id=com.exi.ps.smsname
Nice, app works on my Ics rom 4.0.4
I have installed this app.
Works like a charm!
Thank you!
What future plans for app? Any cool features?
Works great, thanks!
Yes, i've just added 2 new feautres in popup dialog:
1. Save number to existing contact if app found contact
2. Save number to new contact if not
Update will coming soon
Update 1.0.3 is ready
Added 2 new feautres in popup dialog:
- Show contact card if it has been found
- Save number to contacts otherwise
exisapps said:
Update 1.0.3 is ready
- Show contact card if it has been found
Click to expand...
Click to collapse
Great! I missing this one! It's very useful!
App seems to be very usefull.
I dont need function to add contact name in incoming text,
but the idea to extend basic android behavior with text and allow users to quick send message to unknown number is great.
I think that you can rename your app SMS Buns оr Simple SMS or something like that and add some more useful features like sending contact details via sms or email. That will be even more usefull for usual users cos they always use native firmwares.
What about small enhancements pack for Android?)
dunhil said:
App seems to be very usefull.
Click to expand...
Click to collapse
Thank you
New version 1.1.0!
I changed app name to SMS Enhancer and add new feature. Now it
allows to send contact details as simple text via SMS or EMail instead of vCard.
Hope will be useful.
Exactly what i always need! Thanks
Can you please add in share contact: sharing of postal address too and IM's.
Thank you!
Hi, his is what I miss from WM6.5 but it no more in Google plays, can you please please to put it in there again. or have you changed the name of it.

[APP][1.6+] Balance update / USSD blocker

Hi Folks,
Some carriers send a USSD balance update message after each call, and sometimes after each data session on prepaid plans. This is very annoying, and SMS blockers won't stop these USSD messages.
I wrote an app to block USSD messages by keywords or regex. Works well for me in blocking my carrier's balance update messages.
My first android app, so please let me know if I can do something better.
Credits to commandus.com/blog/?p=58 for showing how to intercept these messages using the undocumented hook.
App is "com.melkote.quietbalance" on Google App Store. The v1.0 of the app is also attached to this post.
https://play.google.com/store/apps/details?id=com.melkote.quietbalance
talkative said:
Hi Folks,
Some carriers send a USSD balance update message after each call, and sometimes after each data session on prepaid plans. This is very annoying, and SMS blockers won't stop these USSD messages.
I wrote an app to block USSD messages by keywords or regex. Works well for me in blocking my carrier's balance update messages.
My first android app, so please let me know if I can do something better.
Credits to commandus.com/blog/?p=58 for showing how to intercept these messages using the undocumented hook.
App is "com.melkote.quietbalance" on Google App Store. The v1.0 of the app is also attached to this post.
Click to expand...
Click to collapse
isn't working
Using galaxy s2 (AOKP 1CS ) If that matters.
I selected keyword and its not blocking ....
Edit: working, my bad didn't restart.thanks it's what i was looking for
Works perfectly (Galaxy S2 with CM9)
I've been looking for something like this for a long time but I just wasn't sure how to do it. I was told that these messages are not exactly USSD because USSD requires a code to be sent.
Also, thanks for the link to the blog with the sample code. I was looking for a way to make a widget that updates automatically using the intercepted message.
a big thanks
Thanks a lot, just what i need,i have requested for this in numerous forums, the only reply i got was it's operator based, contact your operator btwn you should reboot after seeting the matching words,
In my case the matching words are,last,call,
U can set this according to your ussd, n once you set you are ready to go,if some one wishes to be know their balance their can try prepay widget , n since it's not free i would like this feature to be incorporated in this app,
s2 running ics remix,
Hi Folks,
Thanks for all the feedback, here and elsewhere.
I've updated the app to ver 1.1 - this version adds a screen to show the last 25 messages and action taken (block or allow) and fixes a bug with blocking frequency.
You must reboot your phone if you update from 1.0 to 1.1 (or install either version).
As I'm a new XDA user, I can't edit the original post (due to presence of URL). So I've attached the APK to this post. If any moderators can move the APK file to the first post, it'll be great!
Thanks!
Talkative
how to block idea data usage msg. ths app not banning class 0 message i.e. data usage
I'm on airtel n it's working for my data messages, so it should work on idea also
Just place the words that appear in your data balance ussd, like mb,last,charge,etcn you should be fine, you should reboot to get it started
from raj's s2
do an tutorial please
I'm on Airtel in India, and worked a charm - thank you very much!
I managed to use it on several messages that come through with different wording using the Keyword List.
Thanks again!
Now, what would be *really* useful is a widget that takes the info from the messages and displays the latest balance info - although there are other aps that do that
aldredd said:
Now, what would be *really* useful is a widget that takes the info from the messages and displays the latest balance info
Click to expand...
Click to collapse
+1
The messages have stopped, which by itself is a great relief......earlier by the time i had waded through the layers of OK i was missing calls! Thanks talkative.
But the beeping still continues. Is there any way to turn that off too or have i missed something in the settings?
Not able to block the message bal pop ups
Hi I installed this app but itz not able to block the msgs.
When I tried to send the bulk sms from my sms application, I still recieve the balance messages from service provider.
How to block the messages? What to write the message matching string for that?
Multiple options to match strings would've been nice.
s
Bydefault for the past few days my balance messages stopped. is there any way to activate it.
Works perfectly with Airtel. Just use keyword blocking list and add words like balance, validity, usage to it to block all messages. Thanks!
Hi, I just installed it today and was just amazed by it. Currently I am using Keyword blocking to block messages.
I would like someone to explain blocking messages using sub string and / or regular expression with example.
Thanks in advance.
rmittal said:
Hi, I just installed it today and was just amazed by it. Currently I am using Keyword blocking to block messages.
I would like someone to explain blocking messages using sub string and / or regular expression with example.
Thanks in advance.
Click to expand...
Click to collapse
+1 Does it work on Jelly Bean too ?
It blocks the Message but Bip and Vibration is still there
Dear Developer,
Many congratulations for making such a wonderful app.
I found two problems with it.
1. It blocks the message but vibration and bip sound comes after every net session
(this has been solved by reinstalling) <s>2. When I send any code from my mobile to check balance e.g. *111#, it stop them too. I mean it keep showing "sending" on screen so message is not going out. </s>
I will appreciate if you look and check for above problems
Thanks
Raship
Source Code?!
Great work.
If it's not too much bother, is the source code available? I'm trying to implement a USSD interceptor and I was wandering if I can use your code as a starting point.
If it's not open-sourced but you are OK with sharing it please send it to me @
[email protected]
Click to expand...
Click to collapse
If it's not feasible, sorry for bothering you.
Hi mSobhy90,
I'll clean it up and put it on GitHub in a few days, I love open source!
In the interim, everything you need is here:
commandus.com/blog/?p=58
(You can translate it quite well with Google Translate)
I want to link to that post so the original finder of the hook point gets credit.
Bye,
Talkative

[Q] SMS time sent vs. received

I give up. I have searched here and elsewhere for a solution that works for me but nothing does. I am running a custom TW ROM (Dandroid 3.9 for JB 4.1.2) on Verizon firmware VRBMF1, so the fix for JPX/JPY firmware won't work for me. Other mods I have seen are for different firmwares also, and Wanam Xposed only works from JB 4.2+. I have also tried 3rd party apps that supposedly fix this, but SMS Sent Time Fix does not work, and SMS Sent Time does not actually fix the timestamp on the message; it only appends the actual sent time to the end of the body of the message which I don't prefer.
I did find a modded SecMms.apk with a fix baked in which does successfully add the actual sent time to the 'date_sent' field in the mmssms.db database; however this still does not accomplish the task of substituting the time sent in the timestamp that appears above each message. Also knowing that the SMS Sent Time app can locate the actual date/time sent gives me the belief that there has to be a way to get the timestamp in my conversations to use this value. Technically it wouldn't be the time I received it, but in cases where I'm in airplane mode for hours - as happens frequently - seeing that I received a text while my phone was off and knowing the time it was sent is more important that using a true time of receipt.
If I thought it was a limitation with JB 4.1.2 I would bite the bullet and update either to 4.3 or even to KitKat, but I like to think that it's possible yet the developers that do all this amazing work haven't found that Verizon SCH-i535 phone running TouchWiz Jellybean 4.1.2 to test on.
So does anyone have any ideas as to what I can try next?
Hi!
I'm the developer of "SMS Sent Time". I haven't been active here on xda for some time now but I got noticed about your thread via Google Alerts and I thought I will use this occasion to bring some light into the overall situation:
Sorry, the post got much longer than intended, but there was so much to explain...
How SMS receiving works in general:
Your mobile network sends you a PDU (protocol data unit) packet containing a SMS message. This PDU format also contains a timestamp field which is filled by the SMSC server of the SMS sender. In most of the times this timestamp == sent time (the time when the SMSC of the sender's mobile network received the message by the sender's phone). However some obscure mobile network providers around the world seem to insert a wrong time into this field (mostly because of wrong set timezone settings, UTC time vs. local time, applying wrong timezone values, etc., you can imagine.. ).
How SMS are received/stored in Android
In Android there exists a system wide database where the received SMS messages get stored into. When a SMS arrives, a system service parses the raw PDU packet it received from the modem part of your phone and stores the SMS data into the system database. The user then can use any SMS application he likes (the default one, GoSMS, HandcentSMS, etc..) to display the messages from this global system SMS database. All SMS apps access the same underlying Android system SMS database.
The problem:
When implementing this SMS database and the receiving service Google made 2 decisions:
they decided that the timestamp from the provider might not be reliable and
they initially only included ONE "date" field in the system database (you can see the structure of this database table in old Android 2.2 here: Android 2.2 SMS database structure).
As a result we ended up having only one time field for a SMS and the SMS receiver service filled this time field with the current time when it receives the SMS (because it doesn't trust the SMSC timestamp).
What SMS Sent Time does:
Given this situation (and not liking it) I realized a few years ago that it is possible for any application in Android (of course only with the according permissions) to register for incoming SMS Intents (simply register a rceiver for "android.provider.Telephony.SMS_RECEIVED" in the app). When doing this the Android system informs the app on any incoming SMS and also lets it access the data from the raw PDU packet received from the network provider (more or less).
So in this moment (when receiving the SMS) the information about the SMSC timestamp is still available!! This was all I needed to build the SMS Sent Time application. But first I had some troubles when modifying the SMS database, mostly because of the fact, that my app first needs to wait until the system service has stored the SMS into the database and then my app has to reliably find the very same sms in the database. But when the message is found the app can modify it (prior to Android 4.4). So the app also could easily change the date field (instead appending it to the text). I was thinking about doing this, but then I got unsure that this might mess up the sort order in some SMS apps when I receive some SMS with a really completly wrong timestamp. So - just to be on the safe side - I decided to append it to the text (which didn't bother me personally).
I also have to say that at this point in time I had no intentions to make this application ever public. This was just meant as a quick hack for myself. Only some time later when I realized that a lot of more people are facing the same problem I decided to publish it. But it still was and is a quick hack for myself. I have not the resources (mostly time) to invest more work. I develop on Android only in my free time and never made a single cent with this app (no donations, no ads) but spent over the years hundreds of hours (including answering a lot of users' mails). So I was glad when people started asking me for the source code (it's public on GitHub: SMS Sent Time on Github) hoping different/improved solutions might arise...
What Google learned about this:
There existed a loooong time bug-report on exact this issue (sorry cannot find the link at the moment) where a lot of users where complaining about exactly this problem (sent time != received time). So Google finally listened to its users and changed the format of the SMS system database beginning Android 4 (AFAIK). You can see it here, if we look at the same database code as above in Version 4.0.3: Android 4.0.3 SMS database structure you will notice that now there is an additional field "date_sent" in the database table! Hooray! :victory: Finally!
Unfortunately the Android world is very fragmented and every phone manufacturer seems to go its own ways. So not all phones with Android >4.0 did implement this change or even if they did inherit this part of the Android core system they often did not update their SMS applications!
The same applies for 3rd party SMS apps. For example: I have a Nexus 4 running a cyanogen-based 4.4.1 and I can confirm that in my system database both date fields are filled correctly. So the sent time is definitely there! But neither "Go SMS Pro" nor "Handcent SMS" seem to display this second field (please correct me if I am wrong, I just made a quick test, I normally don't use these apps). Only the original AOSP SMS app and Google Hangout (when used as SMS app) seem to display both times (sent and received) in message details.
New limitations with Android KitKat (4.4):
Additionally another change came along the road when Google introduced Android 4.4 (KitKat). Suddenly a lot of users reported that SMS Sent Time stopped working for them. The background: Starting with Android 4.4 Google introduced the concept of a "default SMS app". The user has to choose, which app should be the default application for handling incoming SMS on the phone. While other SMS apps (for example like my SMS Sent Time) still are able to receive incoming SMS (and read the sent time) they are no longer allowed to modify the content of the system's SMS database (even with the correct permissions in place). The database update silently fails. Sad enough this is a fact and there is nothing I can do in my app to change this. It's a security feature of Android which I cannot change. (And the reason why I am writing a lot of feedback mails to users lately.)
Workaround:
But at least there is a known "workaround" to overcome this new KitKat limitation (altough it seems that Google decided to remove this possibility with the update from 4.4.1 to 4.4.2). In Android 4.4 there exists a hidden settings screen ("AppOps") which allows you to grant or deny specific permissions to applications. You cannot open this settings screen directly from the system settings, but there are some apps in the Play Store which do nothing else, than just opening this (already existing but hidden) settings screen. For example, I used the app App Ops Starter. This simple app needs no permissions and does nothing else then opening Android's hidden "app ops" settings screen. Once opened, on the tab "Messaging", you see a list with all your installed apps which have sms-permissions. If you open the settings page for one specific app you can grant the permission "Write SMS/MMS" again and the system will behave again like it did before Android 4.4.
So, long story short:
It's been a long time with this problem in the Android world. Hopefully workarounds like my app should not be needed in future (when all SMS apps make use of the "date_sent" field in the SMS database).
Until then it would be possible to modify the SMS Sent Time app to overwrite the datestamp field in the database (instead appending the time to the message text). Any develper should feel free to take the source code and modify it accordingly.
[edit]
corrected spelling
[/edit]
Now THAT is a response! Thanks so much for taking the time to explain in vivid detail (and I actually understands more than half of it!). I do recall the Google thread that dates back to 2009 and kept running across it in my searches. I also saw references to "App Ops" along the way and the suggestion that even that workaround fails starting with 4.4.2. So yeah there's a lot to digest here but I suppose the 3 takeaways for me are:
1) It is possible for 3rd party messaging apps like Handcent and Go SMS to implement the sent time either in message details or in the timestamp above the message.
2) That hope vanishes with KK 4.4.2
2) That hope could be restored if Android again revises its SMS database structure or the message handling process to capture and display the time the SMS was actually sent
Still the issue of different time zones can muddy the waters so it may be that a perfect solution does not exist, at least without a lot of extra effort to identify sender location, compare to receiver's location, look up a time zone offset value somewhere, etc. etc.
But at least your explanation clears up a LOT of confusion for me so now I know the sordid history behind it all. And I will say that though I don't prefer to see a timestamp at the end of my messages, it is better than not being able to get the real sent time at all.
Thanks again for making your "quick hack" available to us and for all the other support you've given the user community on this nagging issue!
androcheck said:
Hi!
I'm the developer of "SMS Sent Time". I haven't been active here on xda for some time now but I got noticed about your thread via Google Alerts and I thought I will use this occasion to bring some light into the overall situation:
Sorry, the post got much longer than intended, but there was so much to explain...
How SMS receiving works in general:
Your mobile network sends you a PDU (protocol data unit) packet containing a SMS message. This PDU format also contains a timestamp field which is filled by the SMSC server of the SMS sender. In most of the times this timestamp == sent time (the time when the SMSC of the sender's mobile network received the message by the sender's phone). However some obscure mobile network providers around the world seem to insert a wrong time into this field (mostly because of wrong set timezone settings, UTC time vs. local time, applying wrong timezone values, etc., you can imagine.. ).
How SMS are received/stored in Android
In Android there exists a system wide database where the received SMS messages get stored into. When a SMS arrives, a system service parses the raw PDU packet it received from the modem part of your phone and stores the SMS data into the system database. The user then can use any SMS application he likes (the default one, GoSMS, HandcentSMS, etc..) to display the messages from this global system SMS database. All SMS apps access the same underlying Android system SMS database.
The problem:
When implementing this SMS database and the receiving service Google made 2 decisions:
they decided that the timestamp from the provider might not be reliable and
they initially only included ONE "date" field in the system database (you can see the structure of this database table in old Android 2.2 here: Android 2.2 SMS database structure).
As a result we ended up having only one time field for a SMS and the SMS receiver service filled this time field with the current time when it receives the SMS (because it doesn't trust the SMSC timestamp).
What SMS Sent Time does:
Given this situation (and not liking it) I realized a few years ago that it is possible for any application in Android (of course only with the according permissions) to register for incoming SMS Intents (simply register a rceiver for "android.provider.Telephony.SMS_RECEIVED" in the app). When doing this the Android system informs the app on any incoming SMS and also lets it access the data from the raw PDU packet received from the network provider (more or less).
So in this moment (when receiving the SMS) the information about the SMSC timestamp is still available!! This was all I needed to build the SMS Sent Time application. But first I had some troubles when modifying the SMS database, mostly because of the fact, that my app first needs to wait until the system service has stored the SMS into the database and then my app has to reliably find the very same sms in the database. But when the message is found the app can modify it (prior to Android 4.4). So the app also could easily change the date field (instead appending it to the text). I was thinking about doing this, but then I got unsure that this might mess up the sort order in some SMS apps when I receive some SMS with a really completly wrong timestamp. So - just to be on the safe side - I decided to append it to the text (which didn't bother me).
I also have to say that at this point in time I had no intentions to make this application ever public. This was just meant as a quick hack for myself. Only some time later when I realized that a lot of more people are facing the same problem I decided to publish it. But it still was and is a quick hack for myself. I have not the resources (mostly time) to invest more work. I develop on Android only in my free time and never made a single cent with this app (no donations, no ads) but spent over the years hundreds of hours (including answering a lot of users' mails). So I was glad when people started asking me for the source code (it's public on GitHub: SMS Sent Time on Github) hoping different/improved solutions might arise...
What Google learned about this:
There existed a loooong time bug-report on exact this issue (sorry cannot find the link at the moment) where a lot of users where complaining about exactly this problem (sent time != received time). So Google finally listened to its users and changed the format of the SMS system database beginning Android 4 (AFAIK). You can see it here, if we look at the same database code as above in Version 4.0.3: Android 4.0.3 SMS database structure you will notice that now there is an additional field "date_sent" in the database table! Hooray! :victory: Finally!
Unfortunately the Android world is very fragmented and every phone manufacturer seems to go its own ways. So not all phones with Android >4.0 did implement this change or even if they did inherit this part of the Android core system they often did not update their SMS applications!
The same applies for 3rd party SMS apps. For example: I have a Nexus 4 running a cyanogen-based 4.4.1 and I can confirm that in my system database both date fields are filled correctly. So the sent time is definitely there! But neither "Go SMS Pro" nor "Handcent SMS" seem to display this second field (please correct me if I am wrong, I just made a quick test, I normally don't use these apps). Only the original AOSP SMS app and Google Hangout (when used as SMS app) seem to display both times (sent and received) in message details.
New limitations with Android KitKat (4.4):
Additionally another change came along the road when Google introduced Android 4.4 (KitKat). Suddenly a lot of users reported that SMS Sent Time stopped working for them. The background: Starting with Android 4.4 Google introduced the concept of a "default SMS app". The user has to choose, which app should be the default application for handling incoming SMS on the phone. While other SMS apps (for example like my SMS Sent Time) still are able to receive incoming SMS (and read the sent time) they are no longer allowed to modify the content of the system's SMS database (even with the correct permissions in place). The database update silently fails. Sad enough this is a fact and there is nothing I can do in my app to change this. It's a security feature of Android which I cannot change. (And the reason why I am writing a lot of feedback mails to users lately.)
Workaround:
But at least there is a known "workaround" to overcome this new KitKat limitation (altough it seems that Google decided to remove this possibility with the update from 4.4.1 to 4.4.2). In Android 4.4 there exists a hidden settings screen ("AppOps") which allows you to grant or deny specific permissions to applications. You cannot open this settings screen directly from the system settings, but there are some apps in the Play Store which do nothing else, than just opening this (already existing but hidden) settings screen. For example, I used the app App Ops Starter. This simple app needs no permissions and does nothing else then opening Android's hidden "app ops" settings screen. Once opened, on the tab "Messaging", you see a list with all your installed apps which have sms-permissions. If you open the settings page for one specific app you can grant the permission "Write SMS/MMS" again and the system will behave again like it did before Android 4.4.
So, long story short:
It's been a long time with this problem in the Android world. Hopefully workarounds like my app should not be needed in future (when all SMS apps make use of the "date_sent" field in the SMS database).
Until then it would be possible to modify the SMS Sent Time app to overwrite the datestamp field in the database (instead appending the time to the message text). Any develper should feel free to take the source code and modify it accordingly.
[edit]
corrected spelling
[/edit]
Click to expand...
Click to collapse
Hi!
Sorry for the delayed answer and thanks for your appreciation.
Just wanted to comment on your 3 points:
Brianakin said:
1) It is possible for 3rd party messaging apps like Handcent and Go SMS to implement the sent time either in message details or in the timestamp above the message.
Click to expand...
Click to collapse
Yes! Indeed! On every ROM which inherited the new SMS database layout from Google's original open source Android version 4.0.3 it should already today be possible for SMS apps to display both times: the sent time AND the received time!
So if your Android system database has this additional sent_time field, you just need a SMS app which shows it to you. So go ahead and send mails to your favorite SMS app developers and ask them about it (you may provide the link to the updated SMS database layout since Android 4.0 including the new "date_sent" field)
2) That hope vanishes with KK 4.4.2
Click to expand...
Click to collapse
No, this hope does not vanish! Only my app may not work any longer on 4.4.2 but if have already the sent_time in your normal SMS app you won't need my app anymore. (I'm probably the first developer being happy about decreasing user numbers. )
3) That hope could be restored if Android again revises its SMS database structure or the message handling process to capture and display the time the SMS was actually sent
Click to expand...
Click to collapse
No, that has nothing to do with it. As noted above, Google has already improved the database structure beginning with Android 4.0.3. Now just all phone manufacturers need to inherit this improvement (which I hope they already did - but I have no concrete infos here).
And we need all the SMS app developers (3rd party apps like Handcent and Go SMS but also the "default" messaging apps from Samsung, HTC, etc..) to display the sent_time (which hopefully is already there on every phone running Android 4.0.3 or higher).
So in general we are on the right way!
P.S.: When I use Google Hangout as SMS app I can see in the message details sent time AND received time. Can you try this just to verify if in principle it also works on your phone?
Principle confirmed. Hangouts does display both times in msg details. On to my favorite SMS app developer to request this option in a future update!
SMS Sent time Issue, but which new phone?
Yes, many thanks Androcheck for the SMS Sent Time app. The issue is immensely irritating and I don't mind at all that the time sent is appended to the message itself. However, it's now time for a new phone (for a number of reasons) and I would welcome advice on whether it would be easier to:
1. Stick with Android and ensure the new phone has up to 4.4.1 only and not 4.4.2?
2. get a 4.4.2 and wait fo the developers to catch up and all start using the sent time field
3. get an iphone - no, have already ruled this out for various reasons
4. Consider a windows phone - do these have the same issue?
Advice anyone?
Thank you for reading my post
Lollipop
Hi. Any chance to have this one run on Lollipop? This is a big help on my Acer and Xperia phone previously running ICS. Please help. Thank you.
Lollipop & S4
I just want to confirm that if you turn on the SMS/MMS write permission for SMS Sent Time in App Ops, then this fine application is still working also in Lollipop 5.0.1 (at least on my S4 i9505 it is!). Unfortunately, App Ops need root! I had rooted mine before, but it's definitely a very fine reason for rooting the phone.
This is really one of the most useful apps for me on my android phone. I don't understand why this feature has always slipped through with the manufacturers. Just as an example: yesterday my boss sent me a text. Due to slow network and bad coverage, I received his text at 12:30 AM, asking to call him when I have network. Yeah...well...luckily he was not sleeping yet Had I known that it was sent hours before, I would have known that he had already reached one of my colleagues and a callback (at this time) was totally unnecessary.
So, I am very happy to find that it is working again! Of course, a timestamp field in the messaging app would be better, but for most people to confusing. So to append the sent time to the message seems like the 2nd best to me.
I see this is an old thread now but, since I've been redirected here from "SMS Sent Time" google play page, I'll use it anyway.
I've recently update to android 7.1.1 and the app doesn't seem to work anymore.

[Q] Messenger app with special sorting

Hello.
I'm searching for a little special app for messages (SMS).
I'm receiving from my job many SMS from our tracking system of network. The problem is, that it always came from different number (It's somehow generated) so it always start new conversation.
Is there any app, which can sort these SMS into one conversation by only part of number (the start of number is always the same) or by a beginning of SMS (the text always start with the same words)?
Thank you
Handcent
Fadtydawg said:
Handcent
Click to expand...
Click to collapse
Can you please describe, where exactly I should set it?
I downloaded the app but didn't find anything like this in settings...
Any other tips?
I don't know if this works for you, but you could do this:
1 - Use this method to back up your messages to a Gmail label
2 - Create another filter in Gmail to label all messages with that specific content which you said every message starts with
3 - View that newly made label on your Gmail app/widget
I know this is a uselessly long workaround, there must be a better method to sort messages how you want to, but its just a thought...
Look up IFTTT. Install it. Create the following conditions:
If New SMS Contains:
*le filter*
Then Send Me SMS:
O
*original SMS*
Now all the messages will have the same number. But there'll be dupes.
ishaang said:
I don't know if this works for you, but you could do this:
1 - Use this method to back up your messages to a Gmail label
2 - Create another filter in Gmail to label all messages with that specific content which you said every message starts with
3 - View that newly made label on your Gmail app/widget
I know this is a uselessly long workaround, there must be a better method to sort messages how you want to, but its just a thought...
Click to expand...
Click to collapse
So I will have SMS on gmail. That's not a good solution, because it will spam also my Outlook... (I have around 14 SMS per day...)
Vuciz said:
Look up IFTTT. Install it. Create the following conditions:
If New SMS Contains:
*le filter*
Then Send Me SMS:
O
*original SMS*
Now all the messages will have the same number. But there'll be dupes.
Click to expand...
Click to collapse
Looks interesting, I will test it
Only thing which doesn't look very comfortable is need of internet connection :/
EDIT: IFTTT is not the solution, because I will have the SMS doubled

Categories

Resources