Как перезапустить реагировать нативное приложение после глубокой ссылки - PullRequest
0 голосов
/ 25 апреля 2020

У меня есть приложение, которое я хочу сделать платеж с глубокими ссылками. У меня есть некоторые apis, которые вызываются в начале приложения, поэтому после возврата из платежа я хочу снова запустить приложение, это мои ссылки, к сожалению, выведите url

const goToFeedback = () => {
    setLoading(true);
    sendTransactionPay({
      walletUrl,
      walletId,
      callback: id => {
        Linking.canOpenURL(`${paymentUrl}\/${id}`).then(supported => {
          if (supported) {
            Linking.openURL(`${paymentUrl}\/${id}`);
          } else {
            changeEvent({
              showModal: false,
              modalMessage: 'error',
              info: false,
            });
          }
        });
      },
    });
  };

, к сожалению, после возврата из URL платежа текущего компонента показал. это мой манифест

<activity
            android:name=".MainActivity"
            android:configChanges="keyboard|keyboardHidden|orientation|screenSize|uiMode"
            android:label="@string/app_name"
            android:excludeFromRecents="true"
            android:alwaysRetainTaskState="true"
            android:launchMode="singleTask"
            android:windowSoftInputMode="adjustResize">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
            <intent-filter android:label="@string/app_name">
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <data android:scheme="app" android:host="avachain" />
            </intent-filter>
        </activity>

1 Ответ

1 голос
/ 25 апреля 2020

Используйте эту библиотеку (не забудьте сделать собственные ссылки):

https://www.npmjs.com/package/react-native-restart

Затем вы можете перезапустить ваше приложение rn, используя одну функцию:

import RNRestart from 'react-native-restart'; // Import package from node modules

// Immediately reload the React Native Bundle
RNRestart.Restart();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...