Julias0 / CapacitorSmsInboxReader

11 stars 2 forks source link

Update README #4

Closed dmitrydutin closed 2 years ago

dmitrydutin commented 2 years ago

Hi, I just started using capacitor. I don't understand where the Plugins object comes from. const {SmsInboxReader} = Plugins; It would also be nice to write a complete process for installing SMS inbox plugin into a new ionic project

dmitrydutin commented 2 years ago

// example To use this plugin, you need to install android-permissions plugin.

Installation android-permissions plugin

Official doc

npm install cordova-plugin-android-permissions
npm install @ionic-native/android-permissions
ionic cap sync

Than add AndroidPermissions into providers array in app.module.ts

// app.module.ts
import { AndroidPermissions } from '@ionic-native/android-permissions';
...

@NgModule({
  providers: [
      AndroidPermissions,
      ...
    ],
  ...
})

Installation sms-inbox-reader plugin

npm i sms-inbox-reader
// in component
import { AndroidPermissions } from '@ionic-native/android-permissions/ngx';
const { SmsInboxReader } = Plugins;

...
export class ExploreContainerComponent implements OnInit {
  constructor(
    private androidPermissions: AndroidPermissions
  ) { }

async readMessages() {
    await this.androidPermissions.requestPermissions([this.androidPermissions.PERMISSION.READ_SMS]);
    const isPermitted = this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.READ_SMS);
    if (isPermitted) {
      const messages = await SmsInboxReader.getAllMessages();
      console.log(messages);
    }
  }
}