A NativeScript plugin to read text messages on android phone inbox using undocumented android api.
Install the plugin using the NativeScript CLI tooling
tns plugin add nativescript-sms-inbox
To read sms inbox in the phone without user interaction on Android your app must request permission. The following must be in your app's AndroidManifest.xml. The plugin should add this for you if it does not exist already.
<uses-permission android:name="android.permission.READ_SMS" />
To use the phone module you must first require()
it from your project's node_modules
directory:
var inbox = require( "nativescript-sms-inbox" );
After you have a reference to the module you can then call the available methods.
- options: A map of parameters e.g. max (for max results), etc..
For example, the code below gets the last 10 smses from the device inbox:
// my-page.js
var inbox = require( "nativescript-sms-inbox" );
inbox.getInboxes({ max: 10 }).then(function(res) {
console.log(JSON.stringify(res));
}, function(err) {
console.log("Error: " + err);
});
- fromNumber - The number on which to filter SMS inbox messages.
- options - A map of parameters e.g. max (for max results), etc.
For example, the code below gets the last 10 smses from the device inbox sent by the provided fromNumber:
// my-page.js
var inbox = require( "nativescript-sms-inbox" );
inbox.getInboxesFromNumber("0712345678", { max: 10 }).then(function(res) {
console.log(JSON.stringify(res));
}, function(err) {
console.log("Error: " + err);
});
import * as TNSInbox from 'nativescript-sms-inbox';
// Get the last 10 inbox messages
public getInboxMessages() {
TNSInbox.getInboxes({ max: 10 }).then((res) => {
console.log(JSON.stringify(res));
}, (err) => {
console.log('Error: ' + err);
});
}
// Get the last 10 inbox messages sent by the provided fromNumber
public getInboxMessagesFromNumber(fromNumber: string) { //fromNumber = "0712345678"
TNSInbox.getInboxesFromNumber(fromNumber, { max: 10 }).then((res) => {
console.log(JSON.stringify(res));
}, (err) => {
console.log('Error: ' + err);
});
}