亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在不打開 Android 撥號器的情況下直接撥打 React Native 中的號碼

如何在不打開 Android 撥號器的情況下直接撥打 React Native 中的號碼

慕慕森 2023-10-20 15:07:25
我正在使用撥號應用程序,應用程序可以簡單地自動從列表中一一撥打號碼。這里的主要問題是,我不希望每次觸發呼叫時都顯示撥號器。簡而言之,我如何直接在應用程序中撥打號碼,而無需在 Android 平臺的 React Native 中打開撥號器。
查看完整描述

3 回答

?
江戶川亂折騰

TA貢獻1851條經驗 獲得超5個贊

嘗試使用react-native-immediate-phone-call

import?RNImmediatePhoneCall?from?'react-native-immediate-phone-call';
...
RNImmediatePhoneCall.immediatePhoneCall('0123456789');
...


查看完整回答
反對 回復 2023-10-20
?
ITMISS

TA貢獻1871條經驗 獲得超8個贊

我已經看到了很多關于這方面的東西,所以我終于得到了解決方案。所以解決方案是建立一個黑白橋接本機和java,這樣你就可以調用java功能來使用此代碼進行直接調用。 String dial = "tel:" + phn_number;   reactcontext.startActivity(new Intent(Intent.ACTION_CALL, Uri.parse(dial)));


首先檢查權限。如果未授予,請先請求許可,然后撥打號碼。


if (ContextCompat.checkSelfPermission(reactcontext,

        Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {

    ActivityCompat.requestPermissions(reactcontext.getCurrentActivity(),

            new String[]{Manifest.permission.CALL_PHONE}, REQUEST_CALL);

} else {

    String dial = "tel:" + phn_number;

    reactcontext.startActivity(new Intent(Intent.ACTION_CALL, Uri.parse(dial)));


}

確保您在清單中添加權限,例如。


<uses-permission android:name="android.permission.CALL_PHONE" />


查看完整回答
反對 回復 2023-10-20
?
喵喔喔

TA貢獻1735條經驗 獲得超5個贊

您可以使用react-native-send-intent庫

如果您需要直接使用電話呼叫,那么在 AndroidManifest.xml 文件中請求許可非常重要。您可以添加可選的第二個參數,以修復默認的手機應用程序。

<uses-permission android:name="android.permission.CALL_PHONE" />

如何使用

? ? var SendIntentAndroid = require("react-native-send-intent");


? ? SendIntentAndroid.sendPhoneCall("+1 234567 8900", true);

示例代碼


? ? var SendIntentAndroid = require("react-native-send-intent");


? ? const InitiateCall = async () => {


? ? ? ? const granted = await PermissionsAndroid.request(

? ? ? ? ? ? PermissionsAndroid.PERMISSIONS.CALL_PHONE,

? ? ? ? ? ? {

? ? ? ? ? ? ? ? title: "App Needs Permission",

? ? ? ? ? ? ? ? message:

? ? ? ? ? ? ? ? ? ? `Myapp needs phone call permission to dial direclty `,


? ? ? ? ? ? ? ? buttonNegative: "Disagree",

? ? ? ? ? ? ? ? buttonPositive: "Agree"

? ? ? ? ? ? }

? ? ? ? );


? ? ? ? if (granted === PermissionsAndroid.RESULTS.GRANTED) {

? ? ? ? ? ? SendIntentAndroid.sendPhoneCall("+1 234567 8900", true);

? ? ? ? ? ? console.log("You dialed directly");

? ? ? ? } else {

? ? ? ? ? ? console.log("No permission");

? ? ? ? }


? ? }


?


? ? return (

? ? ? ? <TouchableOpacity onPress={() => InitiateCall ()}>

? ? ? ? ? ? ? ? ? ?<YourComponent/>

? ? ? ? </TouchableOpacity>

? ? )

您可以在 onPress 事件中使用上述函數


查看完整回答
反對 回復 2023-10-20
  • 3 回答
  • 0 關注
  • 267 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號