简介
react-native-call-detector
是一款基于 React Native 的 npm 包,它提供了一种轻松的方式来检测手机电话的状态并允许您完成基于电话状态的某些操作。如果您正在开发一款需要响应电话状态的应用程序,则 react-native-call-detector
可以提供帮助,让您的应用程序更加实用。
安装
要安装 react-native-call-detector
,您需要通过 npm 进行安装。 打开终端并执行以下命令:
npm install react-native-call-detector --save
使用
适用于以下三种基本用例:
- 监听电话状态
- 获取来电号码
- 获取来电名称
-- -------------------- ---- ------- ------ ------------ ---- ----------------------------- --------------------------------- -------------- -- - -- --------- - -------------------------------------- - -- --------- -- ---- -- -- ----- ----- -- --- ----- ---- -- ---- --- ---- ----- -- ------- --- ------- ------------ -- -------------------------------- -- - ------ ------- - ---- -------------------------------- -------------------- -------- ------ ---- -------------------------------- -------------------- -------- ------ ---- ---------------------------------- ---------------------- -------- ------ ---- ------------------------------------- ------------------------- -------- ------ -------- ------ - --- ------------ -- -------------------------- -------------- -- - -- -------------- -- --------------------- ------------------- ----- ----------------- ----- ------- ------------------------- -- ----------------------
示例
以下是在应用程序中使用 react-native-call-detector
的示例,这个例子将通过在控制台上打印电话状态来演示如何使用此工具进行电话状态监听:
-- -------------------- ---- ------- ------ ------ - --------- - ---- -------- ------ - ---- - ---- --------------- ------ ------------ ---- ----------------------------- ------ ------- ----- --- ------- --------- - ------------------- - ----------------------- - --------------- - -- -- - --------------------------------- -------------- -- - -- --------- - -------------------------------------- - -- --------- -- ---- -- -- ----- ----- -- --- ----- ---- -- ---- --- ---- ----- -- ------- --- ------- -- -------- - -------------------------------- -- - ------ ------- - ---- -------------------------------- -------------------- ------- ------- ------ ---- -------------------------------- -------------------- ------- ------- ------ ---- ---------------------------------- ---------------------- ------- ------- ------ ---- ------------------------------------- ------------------------- ------- ------- ------ -------- ------ - --- ------ -------------- - -
疑难解答
如何处理权限
确保您已经设置了权限,react-native-call-detector
依赖 react-native-permissions
,所以您需要在 package.json
文件中添加 react-native-permissions
,然后启用它。
"dependencies": { "react-native-permissions": "^3.0.0", "react-native-call-detector": "^3.3.1" }
然后在您的 AndroidManifest.xml 文件中添加以下权限:
<uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.CALL_PHONE" /> <uses-permission android:name="android.permission.READ_CALL_LOG" /> <uses-permission android:name="android.permission.READ_CONTACTS" />
然后您可以使用以下方法进行权限检查和请求:
-- -------------------- ---- ------- ------ ------------ ---- ----------------------------- ------ - ----------- - ---- --------------------------- --------------------------------- -------------- -- - -- --------- - -------------------------------------- - -- --------- -- ---- -- -- ----- ----- -- --- ----- ---- -- ---- --- ---- ----- -- ------- --- -------
如何处理 CallDetector
在 Android 上运行但不在 iOS 上运行的问题
在 iOS 上,如果您不拥有访问电话状态的权限,应用程序将会关闭。在处理此类权限时,请确保您使用以下代码:
-- -------------------- ---- ------- ------ - -------- - ---- --------------- ------ ------------ ---- ----------------------------- ------ - ----------- - ---- --------------------------- -- ------------ --- ------ - --------------------------------- -------------- -- - -- --------- - -------------------------------------- - -- --------- -- ---- -- -- ----- ----- -- --- ----- ---- -- ---- --- ---- ----- -- ------- --- ------- -
结论
react-native-call-detector
是一个非常实用的 npm 包,在接受来自电话状态的更改时,它可以为您的应用程序提供帮助。使用它并有助于您创建功能更强大且实用的应用程序。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055c2e81e8991b448d9cf1