1. 程式人生 > >react native Linking 打電話 發簡訊 開啟其他App等

react native Linking 打電話 發簡訊 開啟其他App等

使用Linking開啟webURL 郵箱 聯絡人等,其實Linking相當於android的Intent:

使用方式為: Linking.openURL(string)

//先匯入Linking
import {
    Linking
} from 'react-native';
...

						<TouchableOpacity
                            onPress={() => {
                                Linking.openURL(`tel:${`10086`}`)
                            }
}>

開啟地圖:Linking.openURL("geo:37.2122 , 12.222") 傳入一個座標

打電話:Linking.openURL("tel:10086") 傳入一個電話號碼

開啟網站:Linking.openURL("http://www.baidu.com") 傳入一個網址,http:// 不能少

傳送簡訊:Linking.openURL("smsto:10086")

傳送郵件:Linking.openURL("mailto:[email protected] com")

開啟其他APP:Linking.openURL('flutter://li.zhuoyuan') //其他app定義的scheme以及host。

詳解一下開啟其他App:
首先被開啟的app要有這段程式碼:

 <application
        android:name="io.flutter.app.FlutterApplication"
        android:icon="@mipmap/ic_launcher"
        android:label="flutter_oschina">
        <activity
            android:name=".MainActivity"
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale|screenLayout|density"
            android:hardwareAccelerated="true"
            android:launchMode="singleTop"
            android:theme="@style/LaunchTheme"
            android:windowSoftInputMode="adjustResize">
            <!-- This keeps the window background of the activity showing
                 until Flutter renders its first frame. It can be removed if
                 there is no splash screen (such as the default splash screen
                 defined in @style/LaunchTheme). -->
            <meta-data
                android:name="io.flutter.app.android.SplashScreenUntilFirstFrame"
                android:value="true" />

            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
	         <!--以下是給其他應用開啟app使用的-->	 
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <data
                    android:host="li.zhuoyuan"
                    android:scheme="flutter" />
            </intent-filter>
        </activity>
    </application>

我們注意到有一個<data />的標籤,定義了scheme為flutter, host為li.zhuoyuan. 記住這兩個欄位,在我們想開啟這個app的地方需要。可以之定義scheme ,host為可選項。

scheme,我們可以把它理解為一個app的標識,當url的協議部分與scheme匹配時,app就會被開啟。

開啟app的程式碼:

const url = 'flutter://li.zhuoyuan';   //這個url就是由scheme和host組成的 :scheme://host

			//先檢查是否安裝了這個應用	 
                    Linking.canOpenURL(url).then(supported => {
                        if (!supported) {
                            console.log('Can\'t handle url: ' + url);
                        } else {
                        //安裝了就開啟
                            return Linking.openURL(url);
                        }
                    }).catch(err => console.error('An error occurred', err));
             

相關推薦

react native Linking 打電話 簡訊 開啟其他App

使用Linking開啟webURL 郵箱 聯絡人等,其實Linking相當於android的Intent: 使用方式為: Linking.openURL(string) //先匯入Linking import { Linking } from 're

h5 打電話 簡訊

在 html 的 head 中加上 <meta name="format-detection" content="telephone=yes"/> 打電話的地方加上 <a href="tel:xx">電話</a> 發簡訊 <a href="sm

iOS 打電話 & 簡訊 & 郵件

打電話 //這種方式不能回到自己的App NSURL *url = [NSURL URLWithString:@"tel://10010"]; [[UIApplication sharedAppl

html5開發手機打電話簡訊功能,html5的高階開發,html5開發大全,html手機電話簡訊功能詳解

在很多的手機網站上,有打電話和發簡訊的功能,對於這些功能是如何實現的呢。其實不難,今天我們就用html5來實現他們。簡單的讓你大開眼界。HTML5 很容易寫,但建立網頁時,您經常需要重複做同樣的任務,如

向android模擬器打電話簡訊的簡單方法

作者: 單鵬程       在開發android應用程式時,有時候需要測試一下向android手機撥打電話傳送簡訊時該應用程式的反應。譬如編寫一個廣播接收器,來提示使用者有簡訊收到或者處理簡訊,就需要向該手機發送簡訊來進行測試。這裡介紹一種簡單的向android模擬器打電

android 模擬器 實現 打電話 簡訊的模擬狀態

之前有哥們也寫過這個東西,這次重新寫的主要原因是那哥們 我按照他的東西做了後發現還是不行,這次就當對那哥們的一個補充吧。具體步驟:首先,我們要啟動兩個android模擬器。只有這樣,才能模擬效果。1.第一個模擬器,我們通過eclipse啟動。具體方法是:開啟你的eclipse,隨便執行一個專案。Eclipse

呼叫系統打電話簡訊介面以及程式內簡訊

一、呼叫系統功能 在iOS中開啟系統本身的打電話和發簡訊功能還是比較簡單的,之前在SSO中也提了一嘴,iOS中可以由一個應用開啟另一個應用,只需要一行程式碼,打電話,發簡訊,發email,開網頁也是一樣的 ,只是用的協議不一樣。 1.打電話 這個還是比較簡單的,下

linux c語言使用sim900打電話簡訊

=================================================== GPRS模組:sim900 開發板:fl2440 核心版本:linux3.0 交叉編譯器:arm-linux  4.5.4 =======================

虛擬機器打電話簡訊方法

傳送簡訊的方法 有兩種方法可以實現傳送簡訊,其一是使用intent-startActivity,URI資料格式為"smsto:num",呼叫的action為Intent.ACTION_SENDTO: Uri uri = Uri.parse("smsto:5554

react native Linking的使用

使用Linking開啟webURL  郵箱  聯絡人等,其實Linking相當於android的Intent: 開啟地圖:Linking.openURL("geo:37.2122 , 12.222") 打電話:Linking.openURL("tel:12345678955

為什麼Android Studio通過app打電話簡訊時程式會崩潰

前段時間我在學習一個監聽本機來電狀態並將來電號碼資訊發至指定號碼的app,結果發現,程式碼完全沒錯,卻每次執行時都會結束程式。通過debug,我發現問題出在獲取手機來電狀態這個地方。可是明明在manifest裡面寫了Service那一行啊(android.permissio

iOS開發之呼叫系統打電話簡訊介面以及程式內簡訊

  在本篇部落格開頭呢,先說一下寫本篇的部落格的原因吧。目前在做一個小專案,要用到在本應用程式內發驗證碼給其他使用者,怎麼在應用內傳送簡訊的具體細節想不大起來了,於是就百度了一下,發現也有關於這方面的部落格,點進去看了看,個人感到有點小失望,寫的太不詳細,只是簡單的程式碼

react-native之遠程圖片修改後APP不更新

reactnative react-native react native 刷新圖片 base64今天在做客戶的項目時,有一個需求是App上要顯示遠端的圖片,而遠端的圖片有可能會更新,但圖片名不變。在react-native中,顯示圖片是用的自帶的Image組件,大家都知道react在更新組件之前都會判斷pr

React Native電商項目實戰混合APP開發 React Native實戰 混合APP實戰開發

mp4 實戰 nav 部分 ati nic 購物 獲取 面數據 React Native 和 angular+ionic 是目前網絡上最火的混合APP開發語言,其功能強大能夠開發出安卓和IOS程序! ------------------課程目錄--------------

React-Native+Mobx做一個迷你水果商城APP

前言最近一直在學習微信小程式,在學習過程中,看到了wxapp-mall這個微信小程式的專案,覺得很不錯,UI挺小清新的,便clone下來研究研究,在看原始碼過程中,發現並不複雜,用不多的程式碼來實現豐富的功能確實令我十分驚喜,於是,我就想,如果用react-native來做一個類似這種小專案難不難呢,何況,寫

Android開啟其他App

背景:通過其他專案、網頁連結開啟自己的app 1、通過其他專案開啟自己的app 其實就是通過隱式Intent開啟Activity(為方便描述簡稱其他專案為:A,自己的app為:B) 首先B專案中activity設定intent-filter <activity an

關於Android應用內安裝app然後開啟其他app的一些記錄(相容至Android O)

        前段時間個人專案裡需要加入一個預覽word文件的功能,大致流程就是把這個word下載下來,然後用Tencent的X5核心開啟。很簡單對吧,可是讓人頭疼的是將這個功能整合至專案後,一直提示預覽失敗。然而我自己單獨寫的集成了X5核心的demo確是完美開啟,很無語。

註冊URL Scheme步驟以及開啟其他App

一 註冊 URL Scheme 1.設定URL Scheme 在safari位址列中輸入:URL Schemes://identifier (例如:iOSEnterURL://com.Demo

IOS 開發,呼叫打電話簡訊開啟網址

1、呼叫 自帶mail [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto://[email protected]"]]; 2、呼叫 電話phone [[UIApplication sharedA

Swift IOS中的常用操作(開啟網頁、簡訊打電話郵件)

// // ViewController.swift // Other // // Created by 顧傑 on 15/11/26. // Copyright © 2015年 GuJie. All rights reserved. // import UIKit <span style="