Socket
Socket
Sign inDemoInstall

react-native-call-log-master

Package Overview
Dependencies
0
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    react-native-call-log-master

fetch call logs


Version published
Weekly downloads
18
decreased by-62.5%
Maintainers
1
Install size
78.8 kB
Created
Weekly downloads
 

Readme

Source

call log package for android in react-native

Installation:

Run yarn add react-native-call-log-master

Android

React Native 0.60+

auto links the module

React Native <= 0.59
Auto

react-native link react-native-call-log-master

Manual
  • Edit your android/settings.gradle to look like this (exclude +)
+ include ':react-native-call-log'
+ project(':react-native-call-log').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-call-log/android')
  • Edit your android/app/build.gradle (note: app folder) to look like this (exclude +)
dependencies {
+ implementation project(':react-native-call-log')
}
  • Edit your MainApplication.java from ( android/app/src/main/java/...) to look like this (exclude +)
+ import com.manavshrivastava.callLogs.CallLogPackage;

@Override
    protected List<ReactPackage> getPackages() {
      return Arrays.<ReactPackage>asList(
          new MainReactPackage(),
+         new CallLogPackage()
      );
    }

Usage

import { PermissionsAndroid } from 'react-native';
import CallLogs from 'react-native-call-log'

 useEffect(() => {
    (async () => {
      try {
        const granted = await PermissionsAndroid.request(
          PermissionsAndroid.PERMISSIONS.READ_CALL_LOG,
          {
            title: 'Call Log Example',
            message:
              'Access your call logs',
            buttonNeutral: 'Ask Me Later',
            buttonNegative: 'Cancel',
            buttonPositive: 'OK',
          }
        )
        if (granted === PermissionsAndroid.RESULTS.GRANTED) {

          CallLogs.load(-1, filter).then(c => console.log(c));
        } else {
          console.log('Call Log permission denied');
        }
      }
      catch (e) {
        console.log(e);
      }
    })()
  }, []);

Methods

MethodsDescription
load(LIMIT)LIMIT: number get maximum number of call logs.
load(limit, filter)LIMIT: number (use -1 for no limit)
filter: see usage here)
loadAll()get all call logs

Filter call logs

...
/* List call logs matching the filter */
const filter = {
  minTimestamp: 1571835032,    // (Number or String) timestamp in milliseconds since UNIX epoch
                               // if this filter is set, load(limit, filter) will only return call logs with timestamp >= minTimestamp

  maxTimestamp: 1571835033,    // (Number or String) timestamp in milliseconds since UNIX epoch
                               //
                               // if this filter is set, load(limit, filter) will only return call logs with timestamp <= maxTimestamp

  phoneNumbers: '+1234567890', // (String or an Array of String)
                               // if this filter is set, load(limit, filter) will only return call logs for this/these phone numbers

  types: 'MISSED',             // (Single value / Array of Strings / CallType enums)
                               // if this filter is set, load(limit, filter) will only return call logs of a specific type
}

const callLogs = await CallLogs.load(-1, filter) // applies filter with no limit (also works with a limit)
...

Example

Clone or download the repository then Run cd Example && npm install

Keywords

FAQs

Last updated on 29 Jan 2023

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc