react-native-immediate-phone-call不起作用



我正在编写使用react-native-immediate-phone-call的应用程序,并通过按可压组件,我需要从该模块调用函数。

import RNImmediatePhoneCall from 'react-native-immediate-phone-call';
export default function App() {
const [getNumber, setNumber] = useState('');
function makeCall() {
console.log('dialing');
return () => RNImmediatePhoneCall.immediatePhoneCall(getNumber);
}
...
return (
...
<Pressable onPress={()=>makeCall()}>
<Image source={require('./assets/phone-call.png')}/>
</Pressable>
...
);
}

控制台日志显示到终端与Metro Bunler,但返回不执行的原因。我是新手进入js和反应。函数和函数调用应该是怎样的?

在那一刻,getNumber == ''

所以,我认为RNImmediatePhoneCall.immediatePhoneCall('')什么也没做。

此外,尝试使用此(当getNumber具有值时将工作)

function makeCall() {
console.log('dialing');
RNImmediatePhoneCall.immediatePhoneCall(getNumber);
}

编辑:

还是什么都没发生,我从他们的问题中找到了解决办法

AndroidManifest.xml然后添加以下行
<uses-permission android:name="android.permission.CALL_PHONE" />

如果仍不能正常工作,请按照

在<<p> em>设置。gradlerootProject.name = 'YOUR_PROJ_NAME'后添加以下行
include ':react-native-immediate-phone-call', ':app'
在<<p> em>构建。gradle在dependencies部分插入以下行
implementation project(':react-native-immediate-phone-call')

AndroidManifest.xml添加下面一行所有其他用户权限

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

MainActivity.java中导入

import com.github.wumke.RNImmediatePhoneCall.RNImmediatePhoneCallPackage;

在类中,MainActivity添加以下覆盖(包括"@ overrides "由于某些原因,它与其他代码不在同一个块中)

@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {

RNImmediatePhoneCallPackage.onRequestPermissionsResult(requestCode, permissions, grantResults); // very important event callback

super.onRequestPermissionsResult(requestCode, permissions, grantResults);
}

你不是在调用函数,而是返回它,所以你得到一个函数。

只需更改以下内容:

return () => RNImmediatePhoneCall.immediatePhoneCall(getNumber);

:

RNImmediatePhoneCall.immediatePhoneCall(getNumber);

相关内容

  • 没有找到相关文章

最新更新