第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定

React Native Linking與 Android原生頁面路由跳轉(zhuǎn)問題

標(biāo)簽:
React.JS
  • Linking 唤起APP.

    • 检查该app能否被唤起,也就是检查该app是否已安装成功;
      Linking提供了canOpenURL(url: string): Promise<boolean>;这个方法,用来检测某个url是否可以打开;

       Linking.canOpenURL('appscheme://').then(canopen => {
            ...
          })
    • 唤起并传递参数。
      使用Linking打开app调用openURL方法即可:
      Linking.openURL('appscheme://apphost/path?params=xxx')
      完整调用方法如下:

      Linking.canOpenURL('appscheme://').then(canopen => {  if (canopen) {     console.warn('可以打开: appscheme');
           Linking.openURL('appscheme://apphost/path?rn=true')
        } else {     console.warn('未安装: appscheme');
        }
      })

      备注: Android人员应该知道上述打开的路由appscheme://apphost/path?rn=true 哪里来的,非Android应该不太清楚,其实这里的路由是我们在Android项目中的AndroidManifest.xml 文件中设置的,如下:

      <activity android:name=".RNPreloadActivity"
           android:launchMode="singleTask">
           <intent-filter>
                <data
                     android:host="apphost"
                     android:scheme="appscheme"/>
                 <action android:name="android.intent.action.VIEW"/>
                 <category android:name="android.intent.category.DEFAULT"/>
                 <category android:name="android.intent.category.BROWSABLE"/>
           </intent-filter>
       </activity>
  • APP中唤起RN页面的Activity,并将路由信息通过linking传递到对应的js中。

    • APP中跳转加载RN的页面。

      Intent intent1 = new Intent(Intent.ACTION_VIEW, Uri.parse("appscheme://apphost/path?params=xxx"));
      startActivity(intent1);
    • RN页面渲染的js文件中如何获取跳转路由。

           Linking.getInitialURL().then((url) => {          if (url) {            console.warn('捕捉的URL地址为: ' + url);
                }else{            console.warn('捕获得的url为空');
                }
           }).catch(err => console.error('错误信息为:', err));
    • 在js中监听APP的运行状态。

           AppState.addEventListener('change',(appState)=>{          if(appState=='active'){
                    Linking.getInitialURL().then(url=>{                  console.warn('stateChange url: ' + url);    
                    })
                }
              })

      监听的字符串以及状态如下:

      export type AppStateEvent = "change" | "memoryWarning";export type AppStateStatus = "active" | "background" | "inactive";



作者:闲庭CC
链接:https://www.jianshu.com/p/137ccdd943ae


點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消