使用react native在android中打开默认联系人应用

时间:2019-03-31 10:54:14

标签: android react-native

我想在React Native中打开android中的默认通讯录应用并尝试以下代码,但是我不知道android中通讯录应用的正确网址:

<TouchableOpacity onPress={() => Linking.openURL('ContactsContract.Contacts.CONTENT_URI')}>
      <Text>Press me</Text>
    </TouchableOpacity>

错误是找不到活动或处理意图

1 个答案:

答案 0 :(得分:2)

我不知道,您想在应用程序中实现什么,所以我假设了两种情况:

1。读/写联系人

请注意,要在应用中加载通讯录,您必须事先请求permissions

import { PermissionsAndroid } from 'react-native';

PermissionsAndroid.request(
  PermissionsAndroid.PERMISSIONS.READ_CONTACTS,
  {
    'title': 'Contacts',
    'message': 'This app would like to view your contacts.'
  }
).then(() => {
  // open the permissions app
})

您还必须向AndroidManifest.xml添加权限。

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

您可能还需要WRITE_CONTACTS权限,这取决于您要实现的目标。

然后,您可以使用react-native-contacts-wrapper打开“联系人”应用。

2。仅打开通讯录应用

如果您只想从应用程序中打开通讯录应用程序,则可以使用以下代码:

Linking.openURL('content://com.android.contacts/contacts')