有没有办法在本地android中检测最近的电话通话持续时间

huwehgph  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(637)

我正在使用一个呼叫应用程序,我需要检测最近的电话,我刚刚打了通话时长。那么,有什么方案或方法可以做到这一点吗?

daupos2t

daupos2t1#

没有特定的方法或库来提供最近的电话呼叫持续时间,但您可以使用react native call detection来提供传入呼叫的侦听器,如

import CallDetectorManager from 'react-native-call-detection'

startListenerTapped() {
    this.callDetector = new CallDetectorManager((event, phoneNumber)=> {
    // For iOS event will be either "Connected",
    // "Disconnected","Dialing" and "Incoming"

    // For Android event will be either "Offhook",
    // "Disconnected", "Incoming" or "Missed"
    // phoneNumber should store caller/called number

    if (event === 'Disconnected') {
    // Do something call got disconnected
    }
    else if (event === 'Connected') {
    // Do something call got connected
    // This clause will only be executed for iOS
    }
    else if (event === 'Incoming') {
    // Do something call got incoming
    }
    else if (event === 'Dialing') {
    // Do something call got dialing
    // This clause will only be executed for iOS
    }
    else if (event === 'Offhook') {
    //Device call state: Off-hook.
    // At least one call exists that is dialing,
    // active, or on hold,
    // and no calls are ringing or waiting.
    // This clause will only be executed for Android
    }
    else if (event === 'Missed') {
        // Do something call got missed
        // This clause will only be executed for Android
  }
},
false, // if you want to read the phone number of the incoming call [ANDROID], otherwise false
()=>{}, // callback if your permission got denied [ANDROID] [only if you want to read incoming number] default: console.error
{
title: 'Phone State Permission',
message: 'This app needs access to your phone state in order to react and/or to adapt to incoming calls.'
} // a custom permission request message to explain to your user, why you need the permission [recommended] - this is the default one
)
}

stopListenerTapped() {
    this.callDetector && this.callDetector.dispose();
}

相关问题