iPhone application – reading SMS - ios4

I need to develop an iPhone application which needs to read the incoming SMS received by the user, manipulate the text, and then display it in the application.
Could someone clarify whether it is possible to read the SMS received within our application development?
Thanks!

Intercepting/reading incoming SMS is not possible on iOS (for privacy reasons).

It is only possible when the phone is Jailbreaked.
There are many tools to jailbreak your phone.
Once Jailbreaked, an application cal open the SQLite database at
/var/mobile/Library/SMS/sms.db
and read the message table.
It contains, the date/time at which the message was received, the sender/recipient phone number and even the clear text of the message.

UPDATE
From iOS 12 Apple will allow the support to read One Time Code(OTP - One Time Password) which you will get in the iPhone device.
iOS supports Password AutoFill on UITextField, UITextView, and any custom view that adopts the UITextInput protocol. System keyboard set the textContentType on it to .oneTimeCode
1) Using Code
singleFactorCodeTextField.textContentType = .oneTimeCode
2) Using Storyboard/XIB
Select UITextField/UITextView in storyboard/XIB click Click on Attribute
inspector. Go to text input trait, click to Content type and select
one time code and done.
The operating system will detect verification codes from Messages automatically with this UITextContentType set.
Warning
If you use a custom input view for a security code input text field,
iOS cannot display the necessary AutoFill UI.
For more information, you can check it on the Apple developer oneTimeCode
And also review WWDC 2018 Session 204 - Automatic Strong Passwords and Security Code AutoFill and jump to 24:28 for automatic pre-fill the OTP.

Related

Email sent from lotus notes which includes sent form not working in gmail

While sending email from lotus notes to Gmail using Lotus Script, buttons are not visible in Gmail.
As Anders says, Any standard or custom Action Buttons (at the top) will not be available in Gmail. You would need to code your own Gmail interface to reproduce.
If you are talking about buttons in the actual rich text of the mail, these will definitely not get translated when the mail leaves and you should get a message saying...
"The following items cannot be sent or saved in MIME (internet mail) format."
That would be a clear sign that you are going to need to take another look at your assumptions.
If you are planning a migration, you do need to check your assumptions (and your vendor's promises) carefully, there is a lot of infrastructure and functionality that is taken for granted in the Notes/Domino stack and just not available, or significantly different, in others.
Stored forms are a feature that is unqiue to Notes. They contain Notes design elements, formulas and scripts that execute Notes functions that are provided by the Notes API DLLs that are only available in the Notes client. GMail doesn't know anything about them. Outlook doesn't know anything about them.
But if you want to send them to someone who has a GMail address but who also has the Notes client, then there is a way to do it manually using the "Send this email to other Notes mail user(s) through the Internet" feature, which appears in the Advance tab of the Delivery Options dialog that you can bring up when sending a message. There is no simple API for automating the mechanism that is used, but it can be done. It requires creating a new empty database file with a special name (encap.ond), saving your document into that database, and then attaching the the file to a new message, which will be the one that you actually send. I don't recall if any special headers are required for this, so if you want to pursue it you will have to do some investigation by using the manual process and checking out the full headers of the message on the receiving side.

Send SMS from an app with no UI

Does anyone know how to send an SMS from the xcode application without using the UI?
I mean I want the SMS to be sent internally from the application. I have seen an app that has this feature.
I have alarm system, the alarm only receive SMS nothing else, I need the user to see the alarm name that is easy, but I want the user to choose the alarm name and control it (close, open) and I need to send command by SMS that the issue, the user should not see the alarm number neither the content which is the command text if you can help me that I will pay anyone that can help me with this.
I'm developing on iOS version 4.2.
no there is no way to do it in background , you have to call the GUI unless you create your api that ask for no & send sms from server.

Getting Original Phone useragent with J2ME

Kinda new to J2ME. I was wondering how I could go about in getting a J2ME midlet to send the original user agent of the mobile device to a server instead of: "Profile/MIDP-1.0 Configuration/CLDC-1.0"?
The problem here is that I wont be able to kno the specific device the midlet runs on in order to manually set the useragent. This is because I'm developing a J2ME SDK that will be widely distributed for advertising purposes within other applications. It's like a plugin that fetches and display ads within an app.
For example, if the midlet runs on a sonyericsson, how can i get the midlet to send the original phone useragent:
"SonyEricssonW300i/R4EA Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1"
to my server without actually using
"setRequestProperty(" User-Agent", "SonyEricssonW300i/R4EA Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1")" ?
I want to detect the true device using WURFL on the server-side. If the midlet sends "Profile/MIDP-1.0 Configuration/CLDC-1.0" as the useragent, WURFL will detect the phone as "Generic J2ME midlet" instead of SonyEricsson W300.
I'd really appreciate it if someone assist.
The fool-proof way is to detect the user-agent when the web browser requests the jad, and set the value in the returned jad file.

How to trigger an application in mobile automatically

My idea is to make an application start automatically when a message from a specific user reaches the inbox of the mobile . For example if my friend sends some numbers to my mobile, the sms has to be read and validated first and then calculator ( inbuilt mobile application) has to be triggered and process the numbers from the message. Please help me with the above query.
I am far from convinced you will be able to give the phone user access to the same sms you use to launch your MIDlet.
You may need to use native development on the phones that support it if J2ME can't give you exactly what you need.
In any case, you probably want to try with J2ME first so you need to read the specifications for JSR-118 and its PushRegistry API, along with JSR-120, which interfaces with SMS.
Most current J2ME-enabled phones will support static SMS Push but you will need to send the SMS to a particular port, much like you would data over a standard library socket.
I don't think you can trigger on just any old SMS message arriving.
This is the class you want to look at, in any case:
javax.microedition.io.PushRegistry

How to Send Group Sms?

Can we send SMS programatically by selecting group from the address book using J2me?
yes... it is possible to have access to the users phonebook (if supported on the device(most modern devices do allow it)) via PIM(JSR 75).
And sending SMS's from j2me is also possible(again if the user allows this).
It turns out you can only send a single message to a single recipient at a time using JSR-205.
If you want to send the same message to many recipients, you have to loop around
javax.wireless.messaging.Message.setAddress();
javax.wireless.messaging.MessageConnection.send();
There is no way to add a javax.microedition.pim.ContactList to a Message or to a MessageConnection because there can't be any API dependancy between JSR-205 and JSR-75.
The latest JavaME SDK contains example code that shows how to read contact data in a MIDlet.

Resources