Anyone have experience with SMS handling within Android? - Web App Development

I'm trying to solve a problem for Google Voice users, and looking to pick the brain of someone who may know a thing or two about how Android handles SMS, particularly how an app can be set to be the "default" for messaging.
What is my goal, you ask?
Make it possible for Android users to default all new messages from their Google Voice number, rather than the carrier. Yes, you can just remember to initiate a message inside the Google Voice app, but when responding to a missed call or clicking on message from a contacts screen, it will open the system's default SMS app and send from the carrier number instead. Confusion often ensues when the recipient doesn't recognize the number. We're trying to avoid that, as many of us GV fans use it as our primary number and don't know or care what the carrier # is. In other words, we want to avoid sending from the carrier if at all possible.
But doesn't Hangouts do this already?
It did. While Hangouts supported SMS, we could set it as the default app and then tell it to use Google Voice as the default for all new messages (rather than the carrier). This worked pretty well... anywhere in the OS that you want to initiate a message (call log, contacts screen, etc), it would open hangouts screen with GV as the sending service. But now that they are killing SMS support in Hangouts, it seems they are also removing the ability for it to be the default for all messages. They're actively pushing users to switch to another app for SMS, and you can't set it as the default currently unless you install an older version first. Eventually it will probably stop working altogether.
Why not just set the Google Voice app as the default for messaging?
It seems Google does not want us to be able to do that. The app does not have the option to. I'm wondering if it is because it doesn't actually support carrier SMS messages, and perhaps that would create a conflict in OS experience design? I'm not sure.
What is your proposed solution? Making a new SMS app from scratch is a lot of work, and Google's third party support for Google Voice is very limited...
I understand. Realistically, what I'm wondering is, would it be feasible to create a very simple forwarding app. In other words, a small third party app that could be set as the default for messaging, which could just forward the new message request to another app? Google Voice shows up as an option to send messages from other screens, such sharing an image or link. Heck, so does Hangouts (which will still support Google Voice integration, just not the ability to be the default app). The problem is when initiating a text from the dialer, contacts, or call log, it doesn't give us a context menu to choose from. It only goes to the default app. What I want is the ability to intercept that request and then choose the app to default to ourselves! Preferably the Voice app, but even Hangouts would be acceptable... or if possible let the users decide!
Possible pitfalls are
1) Do apps that support being set as default messaging require being able to actually handle carrier SMS? I could understand if that was a requirement from a UX design perspective, but is it actually an OS limitation or is it possible? I recall hearing once that the FB messenger app supports being set as default for messaging, but I don't understand how that could work, and I haven't found reference to it yet (don't use FB messenger personally).
2) If the Android OS would allow it, would it actually break carrier SMS? I know setting Hangouts to be the default moves all carrier SMS into Hangouts, and if switching to another app it would move the messages to that one. If my proposed forwarding app works, would carrier SMS messages just go nowhere? Occasionally the carrier does send a service announcement or bill reminder, etc, and I think it might be important for those to go somewhere. Or maybe not... I'm not sure how the OS handles this.
3)When a request for a new SMS is made, is the request done in a way that can be re-parsed for another app to handle? I really can't find much or any documentation on how this is handled, but I know the information is out there since Android supports third party SMS apps.
I have had trouble finding documentation about how any of this works from a developer's perspective, so I'm hoping someone where could shed some light on whether or not my idea is dead in the water before I pour too much effort into trying to figure this out. Thanks!

Did a little digging after I posted this and found some info on some dev forums elsewhere.
Seems, as I feared, that in order for an app to be supported as "default" for messaging, the requirement is that it include the handlers for SMS/MMS. This appears to be because whatever app is set as default for messaging is the app that is responsible for receiving and storing said messages. So if my app proposed above were simply to forward messages to another app, and not actually handle carrier SMS/MMS at all, any messages that DO actually come in from the carrier (notifications, payments and outages, etc, which I get from time to time) wouldn't go ANYWHERE and cause a great big user experience flaw.
So that answers some of my question. The next bit is... can incoming messages be forwarded to another app, such as the Android Messaging app that they are trying to make the new standard? Then perhaps this idea could still work. It might make more sense for a pre-existing Messaging app to simply support forwarding to google voice on new messages (or heck, Google should add GV support to Messaging), but I'm not sure how realistic that will be.

I've been thinking about this problem for a while, too. Both Hangouts (for those who have GV linked to it) and the GVoice app probably still have specialized intents to receive message data, so that they can forward them along; the key is to find out what to send to these apps.
I see the problem as only one-way: basically, capturing SMS intents as the default messaging app, then sending the user either to the message-entry screen in the target app (GV/Hangouts) or sending the message directly if that was in the intent. And I thought that there might be a less hair-pulling way to do it, by creating a messaging "shim" app:
* Use an existing, plain vanilla SMS app as a basis. For instance, just pull the one from AOSP. In addition to the new functions below, it will take care of carrier SMS.
* Offer a setting to choose where outbound SMS goes by default: in-app (carrier), GV, Hangouts, etc.
* Add a screen banner saying something like "Carrier SMS" or showing the carrier's phone number.
* If the default outbound app is not in-app for carrier messaging, add a screen icon for jumping into that default-messaging app set by the user.
In this simplified setup, there's no need to handle _inbound_ SMS via GV/Hangouts at all -- because that app will pop up its own notifications, and jump into its own app when its notifications are tapped. Similarly, notifications raised by this customized SMS app, from carrier SMS, would go into that app. No special logic required for any of this, simplifies things a lot.
The end goal from a UI perspective would be, _if_ the user chose a default outbound app other than this one, then the following behaviors would be received by this app and forwarded along to the target outbound SMS app:
* selecting the SMS icon for a contact would, via this app, open GV/Hangouts with that number ready for message entry;
* sending a fully formed SMS via any app, e.g. voice entry via Google App or Assistant, would be forwarded to GV/Hangouts for immediate sending.
(EDIT TL;DR: The problem, distilled, is how to make *initiating a new message from elsewhere* use the real desired app; the desired app will handle it from there.)
The UI problem here is that it will be sort of a "dummy" SMS app. It will handle carrier messages, but there will be people who don't even get carrier messages (FreedomPop comes to mind), so it's another app icon to ignore. Still, it would be the fastest path to resolution and, for most users, would act as a "shim" between native SMS handling and GV/Hangouts (or maybe even other messaging apps?).
---------- Post added at 07:14 PM ---------- Previous post was at 07:11 PM ----------
FWIW, I do understand Android development, though I'm totally green on UI elements. So if you already have some technical know-how here, I'm happy to collaborate to help make this happen. I think this would be soooo much better than having to shove in Xposed (which slows down Lollipop and later) and use XVoice++.

i have just started developing on android. am a new bee with very little knowledge. i have read you post and it had given me some food for thoughts for my messaging app. i liked your idea and wanted to know about your progress. i want to collaborate in your project if you are interested.

Related

[REQ] YouMail WM client

Since YouMail have released their API with documentation, I was hoping someone would be able to whip up a nice Windows Mobile client for this service. I can't be the only one who uses YouMail and would love to have it on his phone without going through Opera. Anyone interested?
I use youmail too, but I never really felt the need for a separate app. My wife has an Iphone, and I've seen the app on hers but wasn't impressed. I just set it up on the favorites panel. And I get emailed with a link to the message anyway, so I dont even launch it that way very often.
I'm not trying to discourage you, just giving my point of view.
I actually have an iphone with the youmail app on it and I find it invaluable. It's a far better solution for me than having to open up safari to go to the mobile site. The program sends a push notification rather than clogging up my email inbox with useless junk, and it's just all around a much more pleasant experience. Considering they felt the need to make clients for iPhone, Android, and Blackberry, obviously a lot of people agree with that sentiment. But to each his own I guess. I'm still hoping someone with some programming talent will be willing and able to whip something up.
I use and love you mail. I'm starting a project for a WM client. Dont wait up because I wont have much time to work on it. Once it progresses enough I might ask someone here to do some graphics for me. It will work by intercepting you mail sms messages. When it catches a message from youmail it will sync with the online acct. It will also feature a chome plugin to replace the existing missed call and VM plugins.
If possible I will also suppress the system missed call notification and show my own. Currently it annoys me that i get a text from youmail for notification of missed calls and I still get the built in missed call notification. I would like to disable the built in one. One advantage of youmail is that if someone calls you and your phone has no signal or is off, you mail still sends you a missed call notification. On the other hand if someone calls and hangs up before it goes to voicemail the system will show a notification but youmail is never aware of the call. Therefore I will suppress the system notification and show my own notifications if the system gets a missed call or if youmail gets a missed call (and each time I will need to check to see if they are notifying of the same call or if a different one occured). Better get coding.
I hope you get some time soon to work on it. Sounds great! I did a mockup of how I envisioned such a program and made some rudimentary graphics. Feel free to PM me if you are interested in them.
I'm interested too!
JKingDev said:
I use and love you mail. I'm starting a project for a WM client. Dont wait up because I wont have much time to work on it. Once it progresses enough I might ask someone here to do some graphics for me. It will work by intercepting you mail sms messages. When it catches a message from youmail it will sync with the online acct. It will also feature a chome plugin to replace the existing missed call and VM plugins.
If possible I will also suppress the system missed call notification and show my own. Currently it annoys me that i get a text from youmail for notification of missed calls and I still get the built in missed call notification. I would like to disable the built in one. One advantage of youmail is that if someone calls you and your phone has no signal or is off, you mail still sends you a missed call notification. On the other hand if someone calls and hangs up before it goes to voicemail the system will show a notification but youmail is never aware of the call. Therefore I will suppress the system notification and show my own notifications if the system gets a missed call or if youmail gets a missed call (and each time I will need to check to see if they are notifying of the same call or if a different one occured). Better get coding.
Click to expand...
Click to collapse
i hope you get some a chance to work on this i would be interested in testing this it would be nice to have a more functional youmail app it would be nice if this could work with google voice also as far as the notifcations system
this is a quick little app i whipped up like a week or two ago its nothing special but it works for your basic youmail needs. this is a quick easy solution to my needs so im sharing it with you all.
http://forum.ppcgeeks.com/showthread.php?t=98059
doesnt store number
works on acer neotouch but doesn't store the login info. Better to just use a favorites link on desktop and use that instead. thanks for trying though.

[Q] Send contact directly to voicemail missing still? (EC05 edition)

Back in September I read the original thread in our forums related to this missing feature: here
I've searched high and low in the contacts application and still cannot find this feature. Did I just completely overlook it or is it still missing in TouchWiz for EC05?
The option is still missing from TouchWiz. I use the app "Group to Voicemail" to accomplish this. Another option, if you have Launcher Pro, you can (from the home screen) hit menu/add/Shortcuts/Activities/Call settings/Auto reject list. This will put a shortcut on your home screen to this hidden setting. From within the Auto Reject List, you can add numbers from your contacts, call logs, or manually type them in. Remember to remove any symbols or hyphens from the phone numbers you add or it won't work.
Thanks for the response. Yea, I read up on that application before I made this post. I'm just not sure how I feel about paying $2 for the app when it's an Android native feature being disabled by Samsung. (Though, I know the app has way more features than simply send to voicemail that would warrant the fee.)
I may just try out "Mr. Number Call Block" for a bit.

Ignore with text and a few other things.

Is it possible to modify the application that the ignore with text feature uses? (To clarity, this pops up when you have an incoming call, it gives you the option to ignore the call, and automatically send a preset message to the caller) I like the idea but it uses the stock messaging app and I use Google Voice for all texting.
Also slightly related, I noticed when I get a missed SMS in the stock messaging app, my lockscreen has a tab that says missed message or whatever. Is is possible to change that to maybe Google Voice? or maybe to show emails as well?
Perhaps this is a shot in the dark and maybe a limitation of touchwiz but I figured I would see if anyone knew anything.
I'd also like to see a count of unread Gmail and GV messages in the dock above the application icon, but that may be a bit too much to expect.

SMS App that hides notifications?

Hola! I'm looking for an sms app that allows me to hide messages from a certain number when received. I don't just want to hide the SMS, but I also want to hide the notifications for messages from certain numbers.
Been trying out Lookout Security and Plan B and their Find My Phone feature. What I notice is that Lookout sends an SMS to your phone, then it starts transmitting its GPS coordinates. Is there any way to hide this notification SMS? If my phone ever gets stolen I don't think it would do me any good for the thief to see a message from Lookout >.>
I've tried Go SMS msg filtering but it doesn't work like how I want it to. It suppresses the msgs and keeps them in a separate folder with no notifications, but what it actually does is smuggle the message and Lookout doesn't get a response that the SMS is received, and thus I cannot start tracking >.>
Any help?
Depends on your company, but you can call them and they can usually block SMS/call from certain numbers.
Sent from my HTC G2 (wish it had sense).
I don't want to block the SMS per se as it is needed by Lookout to start the trace, but what I am actually looking for is for an app that surppresses the notifications of messages from certain numbers. Basically the SMS is received but there will be no notice of it until I check a certain folder or something~
Avast! Mobile Security has those Features. If your phone is stolen you can send an SMS to it that has to begin with your set Avast! Password. Then you can start tracking, lock the device, start a Siren-Tone etc...! The message is not shown. The app is hidden under a fake name and will also inform you if the SIM card has changed and send you an SMS with the new number so you can send your commands.
Sent from my HTC Vision using XDA App
You may want to take a look at AndroidLost in the market.
I have used SmrtGuart, Webroot, Lookout, and AL seems to work the best and uses zero resources.
You can use the web interface to locate, track, call, take pictures, wipe, record audio, etc and it does not use SMS, but if you do want to use SMS, you have that option to control from another number that you have approved (Google SMS, friend's phone etc). Feature List
It has hidden SMS as well.
I use Cerberus from the market and it has the features you desire
Sent from a desire z
Thanks! I'll try out those apps

[Q] Showing just the Contacts which have PHONE NUMBERS?

Hi.
New to ICS.
in previous roms, I used to chose to show only the contacts who had phone numbers.
Is there no way of doing this in ICS?
THanks
http://forum.xda-developers.com/showthread.php?t=1468589
In addition to the solution in that thread (custom contact group that you then choose to display), the dialer app will automatically apply this filter (you can use the same menu path as the people app to further filter which contact group you want to use) to anything you ask it to display. The only catch being that if your intent is to send texts, not make a phone call, your only option is to tap the contact's picture (twice) and launch into the people app.
Shame that the functionality of the dialer app isn't just included as an option in the people app. I use a custom list but I find that I often forget to add people to it when I'm standing in front of them getting their number, so I just make a habit of visiting my google contacts page every so often on my computer and running down the list, looking for contacts with numbers but without my custom label.

Categories

Resources