【发布时间】:2021-03-25 00:47:49
【问题描述】:
我正在使用一个呼叫应用程序,我需要检测我刚刚拨打的最近电话的通话时长。那么是否有任何软件包或任何方法可以做到这一点?
【问题讨论】:
标签: java android react-native phone-call android-phone-call
我正在使用一个呼叫应用程序,我需要检测我刚刚拨打的最近电话的通话时长。那么是否有任何软件包或任何方法可以做到这一点?
【问题讨论】:
标签: java android react-native phone-call android-phone-call
没有提供最近通话时长的特定方式或库,但您可以使用 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();
}
【讨论】: