从React本机应用程序打开外部应用程序(单击按钮)

时间:2018-08-10 09:29:14

标签: javascript android reactjs react-native

我想通过单击使用过的Button来打开New React native App

React native中的链接概念

反应本机代码:测试是其他应用的名称

Linking.openURL('Test://app');

还跟随URL在android.manifest.xml文件中添加Intent Andriod Intent

代码:Android.manifestfile.xml

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

请帮助解决此问题,谢谢!

3 个答案:

答案 0 :(得分:2)

将此代码添加到您与当前意图过滤器平行的AndroidManifest.xml文件中

 <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" />
        <!-- Accepts URIs that begin with "example://gizmos” -->
        <data android:scheme="app"
              android:host="testApp" />
    </intent-filter> 

并运行此命令React-native run-android

将以下代码添加到您的本机文件中。

<Button title="Click me" onPress={ ()=>{ Linking.openURL('app://testApp')}} />

用于节省时间。您可以同时在同一应用程序中编码,并且在按下按钮时将打开同一应用程序

我只是尝试这段代码及其对我有用 让我知道是否仍然面临问题(Y)

答案 1 :(得分:0)

您可以使用以下代码打开外部应用程序

Linking.canOpenURL("fb://app").then(supported => {
  if (supported) {
    Linking.openURL("fb://app");
  } else {
    alert('sorry invalid url')
  }
});

答案 2 :(得分:-1)

<Button title="Click me" onPress={ ()=>{ Linking.openURL('https://google.com')}} />

这是您可以检查的链接:https://snack.expo.io/rJm_YkqyW